Direct3D的图形绘制是通过一个称作Direct3D渲染流水线的过程来完成。在整个绘制过程中,首先提供描述三维物体模型的顶点数据及其他的场景元素,然后通过Direct3D渲染流水线的处理,最终得到能够显示在屏幕上的像素,而这些像素呈现了用户所需的三维图像。
Direct3D渲染流水线分为转换/照明(T&L)和光栅处理两个阶段。其中在转换/照明(T&L)阶段将模型的顶点从一个抽象的坐标空间转换到基于像素的屏幕空间,并对模型进行光照效果处理;而光栅处理阶段则用Direct3D中的图元描述经过T&L阶段处理后的顶点,以及应用纹理映射等其他效果,并将处理结果显示在屏幕上。渲染流水线的两个阶段如下图所示:
T&L阶段大部分的工作是进行顶点坐标变换,未经T&L处理的顶点首先经过世界变换,并将这些顶点从处于局部坐标系转换到世界坐标系中。然后,通过取景变换将位于世界坐标系中的物体模型转换到可供用户观察的观察坐标系中,并进行背面消隐处理以去除背面的部分。如果此时在场景中提供了光照,那么还需要将物体模型进行光照处理以体现出明暗变换。接下来,Direct3D将裁剪位于不可见区域的物体模型部分,并将这些三维场景投影到一个二维平面上,最后经过视口变换得到具有屏幕坐标的T&L顶点。
非T&L顶点经过 世界变换,取景变换,背面消隐,光照处理,裁剪,投影变换步骤,称为T&L顶点。
光栅化处理阶段根据指定的图元类型,纹理效果,将经过转换后的顶点绘制成具体的三角形单元,并计算构成三角形单元的每个像素的颜色,最终将物体模型以二维图像的方式显示在屏幕上。