【发布时间】:2014-12-10 17:59:36
【问题描述】:
在使用英特尔显卡的笔记本电脑上开发时,在编译顶点着色器时,我得到了这个:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
好的,所以我调整着色器以使用版本 300 ES。 同时,我想检查当前驱动程序/卡支持的 GLSL 版本,所以我使用这个:
glGetString ( GL_SHADING_LANGUAGE_VERSION )
令我沮丧的是,它只返回“1.30”。
如何获取完整列表?或者即使它不是完整列表,我如何获得标准 GL 支持版本和 GLES 支持版本?
【问题讨论】:
-
openGL 版本和支持的最大 GLSL 版本之间存在 1-1 映射关系
-
是的,但我只能找到每个 OpenGL 版本支持的 GLSL 版本。我无法为 GLSL ES 找到相同的对应关系。
-
@RhiakathFlanders:1.00 ES 对应 OpenGL ES 2.0,3.00 ES 对应 OpenGL ES 3.0。当 ES 3.0 发布时,它经历了与 3.3 中的桌面 GL 相同的版本重新编号过程(例如 GLSL 1.50 --> GL 3.2,但从 GL 3.3、GLSL 3.30 --> GL 3.3 开始)。它们与 GLSL 的所有现代实现(桌面和 ES)中的 GL 版本同步。事实上,GL ES 3.1 是在 6 月份发布的,因此它引入的 GLSL ES 版本是
3.10 es。
标签: opengl opengl-es opengl-es-2.0