着色器语言第三版笔记(第一章)
第一章
1.1 OpenGL历史
1.2 OpenGL发展
1.3 执行模型
OpenGL执行模型可以被描述为客户-服务器。应用程序(客户)发出OpenGL指令,然后由一个OpenGL实现(服务器)解释和处理这些命令。
1.4 帧缓冲区
1.5 状态
1.6 处理管线
解释上图步骤
1.Geometry App Memory: 几何对象应用程序内存 Pixels(像素)
2. Per-Vertex Operations: 各个顶点操作
3.Primitive Assembly: 图元组装
4. Clip Project Viewport Cull: 裁剪投影视口消隐
5. Geometry Rasterize: 几何对象栅格化 (pixels)像素
6. Fragment Processing: 片元处理
1.7绘制几何对象
1.7.1 指定几何对象
1.法线:通过从模型矩阵获得的左上角的3x3矩阵的逆变换来转换
2.纹理坐标会通过纹理矩阵来转换
1.7.2 逐个定点操作
1.7.2 图元组装:primitive assembly
顶点数据被结合成完整的图元:
1.点:需要一个顶点
2.直线:需要两个顶点
3.三角形:需要三个顶点
4.四边形:需要四个顶点
5.常规多边形:需要n个顶点
1.7.4 图元处理
1.裁剪
将各个图元与用户定义的裁剪平面以及由模型矩阵和投影矩阵建立的视景(view volume)做比较,由三种情况
(1)图元位于视景以及用户定义的裁剪平面内部
(2)图元位于视景(视椎体)或者用户定义的裁剪平面的外部
(3)图元一部分位于内部,一部分位于外部
1.7.5 栅格化