2012-01-31 52 views
9

是否存在某種硬件需要支持的最小紋理尺寸才能符合OpenGL-ES 2.0規範?在Android上符合OpenGL-ES 2.0的最低要求紋理大小?

像GL_MAX_TEXTURE_SIZE值必須至少是1024或2048或類似的東西?

我想知道這個的原因是因爲我使用了着色器,因此我必須使用OpenGL-ES 2.0。因此,我想使紋理儘可能大,而不必考慮每個硬件紋理限制(像只有512x512的舊手機)。

如果有一個最小數目(或大多數設備支持的某個值)可以幫助我很多。

回答

11

是的,任何GLES2實現必須支持寬度和高度至少64像素的紋理。 您可以使用GL_MAX_TEXTURE_SIZE枚舉,使用glGetIntegerv函數查詢實際的最大紋理大小。

參見官方規格第141頁,表6.20。

+2

謝謝,我檢查了它,發現它在http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.24.pdf頁。表6.17,它真的說最少64個像素。這只是我需要的一個可笑的小數字,我想我只需堅持1024的最小紋理,並希望這足夠好。 – HardCoder 2012-01-31 01:02:55

+0

是的,這是相同的規格,但舊版本。最新的是2010年11月2日的2.0.25。但限制是一樣的。 – 2012-01-31 01:16:55

+3

同意'HardCoder',這太荒謬了。對此有何想法?例如,在官方安卓網站上有一個很好的餅圖,顯示了當前使用的Android版本的分佈情況。是否有類似的紋理尺寸統計數據? (以及其他有用的信息) – 2013-02-04 10:22:58