2013-02-23 51 views
1

我在GLSL初学者。我正在读一顶点着色器的代码,我不understande这部分代码:gl_ModelViewProjectionMatrix VS gl_ModelViewMatrix

out vec3 position; 
... 
gl_Position=gl_ModelViewProjectionMatrix*gl_Vertex; 
position=vec3(gl_ModelViewMatrix*gl_Vertex); 

什么是gl_ModelViewProjectionMatrix和gl_ModelViewMatrix之间的区别是什么?

什么是GL_POSITION和位置之间的区别是什么?

+2

有许多优秀的在线教程(http://www.opengl.org/wiki/Getting_started#Tutorials_and_How_To_Guides)用于OpenGL入门。你为什么要通过随机,无证GLSL读码弄明白? – 2013-02-23 23:53:40

回答

1

正如你可能会怀疑,gl_ModelViewProjectionMatrix是gl_ModelViewMatrix与加投影的 - 也就是说,透视相机变形。

gl_Position是一个预定义的变量,意思是“该顶点着色器的投影结果”(所有顶点着色器都需要为gl_Position赋值),而值“position”是一个额外的程序员定义的值, (为什么不可能说,取决于整个着色器)

相关问题