DirectX中文文档系列:一、Direct3D 图形渲染管线

  • Post author:
  • Post category:其他


图形渲染管线(Graphics Pipeline)利用显卡性能高效处理和渲染Direct3D场景。

一、渲染流程图

二、管线构件(Pipeline Component):

1、顶点数据(Vertex Data)

保存在顶点缓存(Vertex Memory Buffer)的一系列原始的模型顶点数据

2、原型数据(Primitive Data)

几何原型,包含点、线段、三角形、多边形;所有这些原型数据用索引缓存(Index Buffer)中指向顶点缓存(Vertex Buffer)的顶点序列表示。

3、细分(Tessellation)

细分模块 将 高级几何原型(higher-order), 置换贴图(displacement maps)和模型(mesh) 转换成顶点坐标,并将其保存到顶点缓存(Vertex Buffer)中。

4、顶点处理(Vertex Processing)

在这里将保存在顶点缓存(vertex buffer)的顶点进行D3D转换。

5、几何处理(Geometry Processing)

将转换过的顶点进行 裁剪,背面剔除,attibute evaluation(不知道咋翻译)和光栅化处理。

6、纹理表面(Texture Surface)

使用IDirect3DTexture9接口传递纹理坐标(Texture Coordinate) 到D3D。

7、纹理采样(Texture Sampler)

在这里将输入的纹理数据进行纹理细节层次(level-of-detail)过滤。

8、像素处理(Pixel Processing)

像素shader改变输入的顶点和纹理数据,生成输出的像素颜色值。

9、像素渲染(Pixel Rendering)

最终的渲染过程,根据 透明(alpha)、深度(depth)、蒙板(stencil)测试,或者透明混合(alpha blending)和雾  改变像素颜色值;将最终的像素显示到显示器上。