1

我写的是在 Core 2.0 之前的 OpenGL 版本中使用 GLSL 和着色器对象。我的源代码检测到 OpenGL 版本低于 2.0,然后检查 GL_ARB_shading_language_100 支持。如果支持,则假定支持 GL_ARB_shader_objects、GL_ARB_vertex_shader 和 GL_ARB_fragment_shader。

我注意到我认为这意味着支持 GLSL 1 的假设是错误的,因为支持 GLSL ES 1.2 并且我的所有着色器源代码都无法编译(缺乏 3D 纹理支持)。glGetString(GL_SHADING_LANGUAGE_VERSION_ARB) 没有帮助(返回 1.20)并且没有记录为有用。

有没有办法通过扩展来检测是否支持 GLSL ES?

4

0 回答 0