GLSL学习笔记二(顶点处理)
摘要:本部分主要专注于顶点Shader的输入 输出 所做的计算等方方面面的事情。今天开场白比较短,我们直接进入正题。
1 glBegin(
);
2
3 glColor3f(0.2,0.4,0.6);
4 glVertex3f(-1.0,1.0,2.0);
5
6 glColor3f(0.2,0.4,0.8);
7 glVertex3f(1.0,-1.0,2.0);
8
9 glEnd();
10
);2
3 glColor3f(0.2,0.4,0.6);
4 glVertex3f(-1.0,1.0,2.0);
5
6 glColor3f(0.2,0.4,0.8);
7 glVertex3f(1.0,-1.0,2.0);
8
9 glEnd();
10
处理顶点Shader的部分我们称之为顶点处理器(vertex processor),顶点Shader的输入根据Opengl程序的不同可能包括:顶点的位置,法向,颜色等信息的部分或全部。例如,下面的OpenGL代码,只能提供给顶点Shader位置与颜色的信息。
在顶点Shader里,我们需要做的计算主要包括:
1、利用模型视点矩阵及投影矩阵转换顶点的位置信息。
2、法向的转换及计算。
3、纹理坐标的生成与计算。
4、顶点的光照计算。
5、颜色计算。
需要注意的是,虽然程序里面可能不需要用到上面全部的运算,但是作为一个通用Shader还是要对所有的方面都做处理,否则当Shader替换了OpenGL的原来程序后,会有部分功能不会被实现。
到目前为止我们还没有看到任何实际的程序,首先我们要建立一个整体的概念,在接下来的几次学习过程中,会逐步的给出实际的完整的Shader代码程序。
浙公网安备 33010602011771号