ios-presentRenderbuffer触发EXC_BAD_访问

ios-presentRenderbuffer触发EXC_BAD_访问,ios,opengl-es,Ios,Opengl Es,我发现当我在ios(在ios 10上测试)上使用上面的GL\u TEXTURE18纹理时,presentRenderbuffer会触发EXC\u BAD\u访问。有什么原因吗?我可以不使用高达GL\u TEXTURE31的纹理吗GL\u TEXTUREX只是一些定义的值、定义的枚举。在您的情况下,GPU定义了支持的纹理的实际数量,您有责任检查这些限制是什么 您可以通过使用glGet之类的方法来获得: GLint max_combined_texture_image_units; glGetInt

我发现当我在ios(在ios 10上测试)上使用上面的
GL\u TEXTURE18
纹理时,
presentRenderbuffer
会触发
EXC\u BAD\u访问
。有什么原因吗?我可以不使用高达
GL\u TEXTURE31

的纹理吗
GL\u TEXTUREX
只是一些定义的值、定义的枚举。在您的情况下,GPU定义了支持的纹理的实际数量,您有责任检查这些限制是什么

您可以通过使用
glGet
之类的方法来获得:

GLint max_combined_texture_image_units;
glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &max_combined_texture_image_units);
试试这条线

请注意,这些定义/枚举只是为了帮助您,并不意味着它们实际上是有效的或受支持的。openGL API主要通过传递整数值
typedef uint32_t GLenum来设计
就API而言,您可以用
1200
或任何其他值替换
GL_TEXTURE0
,但您需要确保该值实际有效