openGL之API学习(九十一)gl_ModelViewProjectionMatrix过期deprecated

global variable gl_ModelViewProjectionMatrix is deprecated after version 120

gl_ModelViewProjectionMatrix是一个内置GLSL常量,可以获取当前的视图投影变换矩阵。

可是,自从opengl3.3后该常量标注为过期deprecated。取而代之的是采用uniform的形式向着色器传递矩阵,这样使用起来是很不方便的,或者使用compatible方式继续使用老版本常量。

uniform mat4 projMat;
uniform mat4 viewMat;
uniform mat4 modelMat;

layout (location = 0) in vec3 position;

void main()
{
    gl_Position = projMat * viewMat * modelMat * vec4(position, 1.0);
}

为什么新版本的opengl会丢弃这些好用的常量呢,类似的还有gl_ModeView、gl_Vertex、gl_NormalMatrixgl_ModelViewMatrixgl_ProjectionMatrix等。

 

 

 

 

你可能感兴趣的:(opengl,可视化,着色器,GLSL,openGL之API学习)