我想使用GLSL ES着色器,它需要
#if GL_OES_standard_derivatives
# extension GL_OES_standard_derivatives : enable
#endif在我的libgdx (Android/iOS)应用程序中。如何确定设备是否支持此功能?
发布于 2016-06-10 16:35:38
OpenGL ES有glGetString(GL_EXTENSIONS),它返回一个空格分隔的列表。如果您可以在Android上访问Java,则可以使用GLES10类的静态方法,如下所示:
bool is_supported()
{
return GLES10.glGetString(GLES10.GL_EXTENSIONS).contains("GL_OES_standard_derivatives");
}如果您使用的是GLES 2.0或更高版本,请改用GLES20。
在iOS上,如果你有权使用C,你可以这样做:
bool is_supported()
{
return strstr(glGetString(GL_EXTENSIONS), "GL_OES_standard_derivatives") != NULL;
}https://stackoverflow.com/questions/37730798
复制相似问题