我加載RGBA紋理其是1024×1024。我預期導通存儲器紋理大小將是1024×1024×4 => 4 MB。但是當我嘗試打印內存消耗時,我可以看到紋理花費了大約7-8 MB,幾乎翻了一番。我只是想知道是否iPad是從字節轉換每個通道半浮, 那麼,有什麼辦法可以指定每個像素應該採取4個字節,而不是8個字節。ipad公司的OpenGL ES:在存儲器紋理大小
回答
您必須指定型和內部格式當您使用glTexImage2D創建它的質感。
你的是可能設置爲GL_FLOAT什麼的。
查找的文檔在這裏:http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xml
glTexImage2D的type參數指定要從中創建紋理數據的CPU數組的類型。它不會影響GPU上的數據,這僅取決於內部格式。 – 2011-10-18 19:59:14
即使如此,GL_FLOAT寧可導致至少16 MB。 – 2011-10-18 20:09:33
最簡單的方法來指定它使用的是容量內部格式(如GL_RGBA8而不是GL_RGBA),雖然我不知道,如果這些在ES支持。但是,如果ES設備將存儲每個通道多於8位的標準RGBA紋理,我會感到驚訝。
如何確定的GPU內存消耗?我寧願猜測額外的內存是由於其他重要的GPU資源,如VBO,不要忘記幀緩衝本身(您呈現的內存),這需要一個合理的內存量。請記住,使用mip貼圖時,這些額外需要大約33%的基本紋理內存。
如果你正在談論你從創建紋理的CPU數據的大小,那麼這不會有任何與紋理的大小反正只取決於你自己的數據的大小。
- 1. OpenGL ES紋理內存
- 2. 在OpenGL中存儲很多小紋理
- 3. 的OpenGL ES 2.0:在紋理
- 4. OpenGL ES 2.0紋理
- 5. OpenGL ES iPhone紋理
- 6. 的OpenGL ES:避免紋理
- 7. OpenGL ES的旋轉紋理
- 8. OpenGL:紋理大小和視頻內存
- 9. 的OpenGL ES着色器多紋理
- 10. OpenGL ES 1.1 2D紋理紋理iPhone
- 11. OpenGL壞紋理大小
- 12. 如何在iPhone/iPad上的OpenGL ES中壓縮紋理?
- 13. opengl es高效存儲單色透明紋理的方式
- 14. 設置OpenGL ES 2.0紋理
- 15. opengl es 2.0紋理座標
- 16. Opengl-es繪製紋理
- 17. OpenGL ES紋理遮罩
- 18. OpenGL es 2.0 Android紋理
- 19. OpenGL ES - glImageProcessing - 刪除紋理
- 20. OpenGL ES:紋理平面
- 21. Android OpenGL - ES紋理出血
- 22. OpenGL ES 2.0 - 畫紋理?
- 23. 禁用opengl es紋理ios
- 24. OpenGL ES 2.0衍生紋理
- 25. opengl es 2.0紋理加載
- 26. OpenGL ES紋理不渲染
- 27. Android OpenGL ES 2.0紋理
- 28. OpenGL ES渲染到紋理
- 29. Opengl ES 2.0:獲取紋理大小和其他信息
- 30. 在Android中獲得最大的OpenGL ES 2.0紋理大小限制
你確定你不小心加載(或填充出)一個2048×1024的質感? – bobobobo 2013-02-22 14:22:59