2

我现在正在使用 opengl es 2.0 开发 android 系统。我知道为了获得片段着色器中可用纹理的最大数量,我可以尝试获取 GL_MAX_TEXTURE_IMAGE_UNITS 的值。但是,我发现这个常量的值是 34930。但是我从一本书中看到,片段着色器中只能使用 8 个纹理。我想知道 34930 的值是什么意思?

4

1 回答 1

7

该值只是 OpenGL 枚举 GL_MAX_TEXTURE_IMAGE_UNITS 的整数值。这不是可用的纹理单元的数量。

要获得可用纹理单元的数量,您必须使用

int[] max = new int[1];
glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, max, 0);
于 2012-11-15T06:59:31.710 回答