我加載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 ES 2.0:在紋理
- 3. OpenGL ES iPhone紋理
- 4. OpenGL ES 2.0紋理
- 5. OpenGL ES的旋轉紋理
- 6. 的OpenGL ES着色器多紋理
- 7. 如何在iPhone/iPad上的OpenGL ES中壓縮紋理?
- 8. OpenGL ES渲染到紋理
- 9. OpenGL ES 2.0衍生紋理
- 10. 禁用opengl es紋理ios
- 11. opengl es 2.0紋理加載
- 12. OpenGL es 2.0 Android紋理
- 13. 設置OpenGL ES 2.0紋理
- 14. Android OpenGL - ES紋理出血
- 15. opengl es 2.0紋理座標
- 16. Android OpenGL ES 2.0紋理
- 17. OpenGL ES紋理遮罩
- 18. Opengl-es繪製紋理
- 19. Opengl ES 2.0:獲取紋理大小和其他信息
- 20. OpenGL ES:將一系列紋理存儲爲電影文件
- 21. 在iPhone的OpenGL ES中紋理球體
- 22. OpenGL ES 1.x根據主存儲器中的位圖混合兩個紋理
- 23. 在OpenGL ES中渲染紋理
- 24. OpenGL ES 1.1顏色在字體紋理
- 25. OpenGL ES在多紋理中使用glColor4f
- 26. OpenGL ES平鋪紋理Mipmap問題 - iPad/iPhone
- 27. Android的OpenGL ES中的透明紋理
- 28. 在Android上符合OpenGL-ES 2.0的最低要求紋理大小?
- 29. OpenGL ES 2.0中的紋理點?
- 30. OpenGL ES中的高光紋理?
你確定你不小心加載(或填充出)一個2048×1024的質感? – bobobobo 2013-02-22 14:22:59