我有一个代码,但我不知道它使用的是哪个版本的OpenGl。
代码中没有#version编译指示,所以我发现很难搞清楚。
我如何知道它的OpenGl版本是什么?
其他信息:
得到shader
,vec2
,vec3
,vec4
答案 0 :(得分:1)
如果查看OpenGL参考页面,对于每个函数,都会有一个列表,指出它出现在哪个版本中。该列表从OpenGL-2.0开始,但这些日子真的是您最不需要关注的版本。
无论如何,这里有一套启发式方法来确定使用的OpenGL版本:
使用缓冲区对象,即调用glBufferData
→v> = 1.5
使用GLSL着色器→v> = 2.0
GLSL代码使用关键字varying
和uniform
→v< 3
使用帧缓冲对象,即调用glBindFramebuffer
→v> = 3.0
使用顶点数组对象,即调用glBindVertexArray
→v> = 3.3核心配置文件
利用glTextureStorage…
/ glTexStorage…
→v> = 4.2