图形渲染管线(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)和雾 改变像素颜色值;将最终的像素显示到显示器上。