首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GL_VERSION与GL_SHADING_LANGUAGE_VERSION不同之处及该做什么

GL_VERSION与GL_SHADING_LANGUAGE_VERSION不同之处及该做什么
EN

Stack Overflow用户
提问于 2020-05-26 15:38:54
回答 1查看 421关注 0票数 1

跑步时

代码语言:javascript
复制
printf("%s\n", glGetString(GL_VERSION));
printf("%s\n", glGetString(GL_SHADING_LANGUAGE_VERSION));

在我的电脑上打印出来:

3.1 Mesa 19.2.8 1.40

但是,当尝试访问3.1中的着色器特性时,我会收到以下错误消息:

支持的版本是: 1.10、1.20、1.30、1.40、1.00es和3.00es

令我困惑的是:

  1. GL_SHADING_LANGUAGE_VERSION不支持GL_VERSION支持的许多特性。这是什么原因?有没有可能,我可以使用3.1功能在我的着色器?
  2. 根据我的着色器的错误信息,我的计算机支持3.00es,这与GL_SHADING_LANGUAGE_VERSION不同。为什么是这种情况?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-26 15:43:17

GLSL版本1.40对应于OpenGL 3.1。见GLSL标签信息

OpenGL规范. Khronos OpenGL注册表

代码语言:javascript
复制
| GLSL  | OpenGL |                |
|-------|--------|----------------|
| 1.10  | 2.0    | #version 110   |
| 1.20  | 2.1    | #version 120   |
| 1.30  | 3.0    | #version 130   |
| 1.40  | 3.1    | #version 140   |
| 1.50  | 3.2    | #version 150   |
| 3.30  | 3.3    | #version 330   |
| 4.00  | 4.0    | #version 400   |
| 4.10  | 4.1    | #version 410   |
| 4.20  | 4.2    | #version 420   |
| 4.30  | 4.3    | #version 430   |
| 4.40  | 4.4    | #version 440   |
| 4.50  | 4.5    | #version 450   |
| 4.60  | 4.6    | #version 460   |

OpenGL ES规范- Khronos OpenGL ES注册表

代码语言:javascript
复制
| GLSL ES | OpenGL ES |                 |
|---------|-----------|-----------------|
| 1.00    | ES 2.0    | #version 100 es |
| 3.00    | ES 3.0    | #version 300 es |
| 3.10    | ES 3.1    | #version 310 es |
| 3.20    | ES 3.2    | #version 320 es |
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62025942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档