gl_Position是顶点着色器(所有版本的顶点着色器)必须计算的值,是每个顶点的最终的位置信息。这里的顶点位置信息是通过glVertexAttribPointer上传的。
#version 430
uniform mat4 projMat;
uniform mat4 viewMat;
uniform mat4 modelMat;
layout(location = 0)in vec3 in_position; // matches gl :: EnableVertexAttribArray(0);
layout(location = 1)in vec2 in_uv; // matches gl :: EnableVertexAttribArray(1);
out vec2 uv;
void main()
{
gl_Position = projMat * viewMat * modelMat * vec4(in_position,1.0);
uv = in_uv;
}
gl_Vertex是老古董东西,从140后就被删除了。以前的gl_Position是通过gl_Vertex来计算的。这里的顶点位置信息是通过glVertexPointer上传的。
#version 120
void main() {
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}
版权声明:本文为hankern原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。