我现在正在使用opengl es 2.0开发android系统。我知道为了获得片段着色器中可用的最大纹理数,我可以尝试获取GL_MAX_TEXTURE_IMAGE_UNITS的值。但是,我发现这个常量的值是34930.但我从一本书中读到,片段着色器中只能使用8个纹理。我想知道34930的价值意味着什么?
答案 0 :(得分:6)
该值只是OpenGL枚举GL_MAX_TEXTURE_IMAGE_UNITS的整数值。这不是可用的纹理单元数量。
要获取可用纹理单元的数量,必须使用
int[] max = new int[1];
glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, max, 0);