它说对于“PowerVR SGX 上的 OpenGL ES 1.1”“有 8 个纹理单元可用。”
它没有说明 OpenGL ES 2.0 上有多少个单元可用,这是否意味着没有限制?
它说对于“PowerVR SGX 上的 OpenGL ES 1.1”“有 8 个纹理单元可用。”
它没有说明 OpenGL ES 2.0 上有多少个单元可用,这是否意味着没有限制?
与其询问并获得将来可能正确或不正确的答案,您的应用程序应该在运行时使用以下方式以编程方式进行检查:
glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &MaxTextureUnits);
请注意,顶点着色器和片段着色器中允许的纹理单元数量也有单独的数字。他们会使用常量GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
和GL_MAX_TEXTURE_IMAGE_UNITS
。该COMBINED
号码是同时可供双方使用的号码。
Apple 的iOS 设备兼容性参考中详细列出了 iPhone 和 iPad 上的所有硬件
基于此,您可以安全地在任何iOS 设备上使用多达8 个纹理单元。
实际上答案在您链接的同一页面中:
PowerVR SGX 上的 OpenGL ES 2.0
限制
...
您可以在片段着色器中使用多达 8 个纹理。您不能在顶点着色器中使用纹理查找。
……