着色器语言(OpenGL Shading Language) ,GLSL是着色器语言的通称,是一门编程语言,用于创建做编程的着色器,OpenGL 着色器语言允许应用程序显示的指定在处理顶点和片段时所指定的操作.
学习目标
理解使用OpenGL 2.0 着色器语言编写的可编程着色器的结构和内容
OpenGL 图像管线和可编程着色器
OpenGL 操作分为两个部分,第一部分对顶点进行处理,第二部分对片段进行处理。这些操作可以通过代码进行控制,但是程序内部的执行顺序不能进行控制,这种操作模式被称为"固定功能的管线".
OpenGL 固定功能管线
-
顶点数据
先上一张图了解一下顶点处理过程 -
顶点处理管线
当OpenGL 使用固定功能的管线处理顶点的时候,它负责提供下面的值,主要用于后面的栅格化处理:
1.视觉空间坐标
2.主颜色和辅助颜色
3.纹理坐标
4.雾坐标
5.点的大小
<p>
顶点管线可能不会对上面所有的值进行更新,这些值都是应用程序根据glVertex()* 和 其他顶点数据调用所输入的数据进行计算的.
顶点着色器不是代替了所有的顶点管线中的操作,在顶点着色器执行完之后,下面的操作仍然可以出现:
1.透视除法
2.窗口映射
3.图元装配
4.平截头(视景体)和用户裁剪
5.背面剔除
6.双面光照选择
7.多变形模式处理
8.多变形偏移
9