第三章 Hanging Ten——走马观花渲染管道
2008-02-01 22:37
176 查看
第三章 Hanging Ten——走马观花渲染管道
概述
现在是时候开始在三维里思考了。目前为止我们做的任何事情都是二维的。这一章讲述传统3D渲染流水线的背景知识。我特别指出“传统”,那是因为当前有两种渲染流水线:传统的fixed-function流水线和vertex and pixel shader流水线。传统流水线包括下面的步骤:
n 顶点数据和高阶图元(high-order primitive tessellation)
n 变换和光照
n 视口和裁剪
n 纹理/多重纹理
n 雾混合
n 透明,模板和深度测试
n 帧缓存混合
DirectX 8加入了vertex和pixel shaders,他们使用一种类汇编语言的shader语言。Vertex shaders代替了流水线里的变换和光照步骤,pixel shaders代替了纹理/多重纹理步骤。在DirectX 9里,使用了C语言语法风格的高级着色语言(High Level Shader Language)替代了类汇编语言的shader语言。几章都会用到(devoted)这些shaders。在这本书里我们不会深入专研shaders的高级特性,我们坚持使用传统的流水线,在处理vertex and pixel shaders之前,我们需要扎实的掌握这些技术。
很多传统的流水线在现代图形卡都得到支持。这一章我们把焦点集中在准备mesh数据和把数据送给硬件渲染的处理上。事实上,这一章大多数内容解决精确定义哪些顶点数据需要提交进行渲染,以及这些数据怎么组织。为了在3D渲染取得最高的效率,我们需要最小化渲染状态的改变(例如,纹理选择,光照设置,变换矩阵的设定)。
概述
现在是时候开始在三维里思考了。目前为止我们做的任何事情都是二维的。这一章讲述传统3D渲染流水线的背景知识。我特别指出“传统”,那是因为当前有两种渲染流水线:传统的fixed-function流水线和vertex and pixel shader流水线。传统流水线包括下面的步骤:
n 顶点数据和高阶图元(high-order primitive tessellation)
n 变换和光照
n 视口和裁剪
n 纹理/多重纹理
n 雾混合
n 透明,模板和深度测试
n 帧缓存混合
DirectX 8加入了vertex和pixel shaders,他们使用一种类汇编语言的shader语言。Vertex shaders代替了流水线里的变换和光照步骤,pixel shaders代替了纹理/多重纹理步骤。在DirectX 9里,使用了C语言语法风格的高级着色语言(High Level Shader Language)替代了类汇编语言的shader语言。几章都会用到(devoted)这些shaders。在这本书里我们不会深入专研shaders的高级特性,我们坚持使用传统的流水线,在处理vertex and pixel shaders之前,我们需要扎实的掌握这些技术。
很多传统的流水线在现代图形卡都得到支持。这一章我们把焦点集中在准备mesh数据和把数据送给硬件渲染的处理上。事实上,这一章大多数内容解决精确定义哪些顶点数据需要提交进行渲染,以及这些数据怎么组织。为了在3D渲染取得最高的效率,我们需要最小化渲染状态的改变(例如,纹理选择,光照设置,变换矩阵的设定)。
相关文章推荐
- 【《Real-Time Rendering 3rd》 提炼总结】(三) 第三章 GPU渲染管线与可编程着色器
- 实时渲染(第三版):第二章 图形渲染管道 2.1 体系结构
- 实时渲染(第三版):第三章 图形处理单元 3.3 3.4
- 【《Real-Time Rendering 3rd》 提炼总结】(三) 第三章 · GPU渲染管线与可编程着色器 The Graphics Processing Unit
- 第三章 引擎的核心:渲染框架
- 【《Real-Time Rendering 3rd》 提炼总结】(三) 第三章 · GPU渲染管线与可编程着色器 The Graphics Processing Unit
- D3D 渲染管道
- 第三章渲染2D精灵
- Something About Rendering Pineline(渲染管道)
- 渲染管道
- Android OpenGL ES零基础系列(三):OpenGL ES的渲染管道及VertexShader与FragmentShader
- 游戏程序设计之渲染管道
- 第三章 引擎的核心:渲染框架
- 第三章 输入输出重定向和管道
- 实时渲染(第三版):第二章 图形渲染管道 2.2 2.3
- 第三章渲染2D精灵
- D3d9c的固定渲染管道(fixed function pipeline)与可编程管道(programmable function pipeline)的异同点
- 【Web渲染性能优化】渲染管道
- D3d9c的固定渲染管道(fixed function pipeline)与可编程管道(programmable function pipeline)的异同点
- D3D学习笔记(渲染管道)