桌面版 OpenGL ES 2.0 Windows

OpenGL ES 2.0 on Desktop Windows

OpenGL 有 GL_ARB_ES2_compatibility 但我不完全确定如何使用它。只是更新为包含 OpenGL ES 2.0 的功能,还是可以确保您只使用 OpenGL ES 2.0 的功能。例如着色器,在这种情况下我将使用什么 #version 作为 glsl 着色器?

您可以在 https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt

找到规范

此扩展添加了 ES2 中存在但 GL3 中缺失的功能。由于此扩展没有 enable/disable,因此它不会影响 GLSL,也不会限制您只能使用 ES2 功能。

您可以改为创建 GLES2 上下文(但并非每个驱动程序都支持它),并使用例如#ifdef GL_ES 在着色器中。即便如此,也不能保证实现仅支持 GLES2,仅此而已。由于此路径很少使用,因此测试不充分,因此这样做可能不是一个好主意。

如果你需要绝对确定你只使用 ES2 功能,你可能应该转储每个函数调用,例如探查器并再次检查 gles2.h(可以自动化)。但是,您不会以这种方式测试着色器。