5

在苹果的文档中:( http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/OpenGLESPlatforms/OpenGLESPlatforms.html

它说对于“PowerVR SGX 上的 OpenGL ES 1.1”“有 8 个纹理单元可用。”

它没有说明 OpenGL ES 2.0 上有多少个单元可用,这是否意味着没有限制?

4

3 回答 3

8

与其询问并获得将来可能正确或不正确的答案,您的应用程序应该在运行时使用以下方式以编程方式进行检查:

glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &MaxTextureUnits);

请注意,顶点着色器和片段着色器中允许的纹理单元数量也有单独的数字。他们会使用常量GL_MAX_VERTEX_TEXTURE_IMAGE_UNITSGL_MAX_TEXTURE_IMAGE_UNITS。该COMBINED号码是同时可供双方使用的号码。

于 2012-06-03T14:40:14.907 回答
2

Apple 的iOS 设备兼容性参考中详细列出了 iPhone 和 iPad 上的所有硬件

基于此,您可以安全地在任何iOS 设备上使用多达8 个纹理单元。

于 2014-05-18T13:20:00.303 回答
0

实际上答案在您链接的同一页面中:

PowerVR SGX 上的 OpenGL ES 2.0

限制

...

您可以在片段着色器中使用多达 8 个纹理。您不能在顶点着色器中使用纹理查找。

……

于 2012-06-03T18:55:06.017 回答