是否有一个iOS硬件列表(当前和过去)以及OpenGL ES 2.0应用程序中可用的纹理采样器数量?我对立方体地图采样器的数量特别感兴趣(有区别吗?)。
我知道我可以在运行时确定它,但我手边没有每一个设备。
答案 0 :(得分:1)
不,真的,有OpenGL ES chapter in Apple's iOS Device Compatibility Reference。
它列出了iOS最后几个主要版本支持的设备的大部分有趣功能限制,包括纹理单元的数量(MAX_TEXTURE_IMAGE_UNITS
,MAX_COMBINED_TEXTURE_IMAGE_UNITS
或MAX_VERTEX_TEXTURE_IMAGE_UNITS
,具体取决于你想如何使用它们)。请注意,此数字可能会更改,具体取决于您使用的EAGLContext
的API版本。
立方体贴图使用单个纹理单元,纹理单位对应于GLSL sampler2D
或samplerCube
,因此单位数是采样器的数量。
使用Device Compatibility Reference来帮助规划渲染器设计,但永远不要硬编码应用程序中特定设备的假设 - 否则您将被iOS设备未来的Ghost困扰。如果您需要根据设备功能改变应用程序的行为,您仍应在运行时测试这些功能。