Direct3D 10 的管线状态
1、Input-Assembler Stage :
负责给管线提供数据(三角形,线和点)。
2、Vertex-Shader Stage:
顶点处理。执行诸如,位置变换、蒙皮、光照等计算。接受一个顶点作为输入,并产生一个相应的顶点作为输出。
3、Geometry-Shader Stage:
图元处理。输入是一个完整的图元(三角形图元就是三个顶点、线图元就是两个顶点、点图元就是一个点)。除此之外,每个图元还可以包
含相应的临界图元的信息。GS 还支持有限的图形的放大和缩小。给定一个作为输入的图元,GS 可以删除该图元,也可以输出一个或多个新的
图元。
4、Stream-Output Stage:
该模块被设计用来把图元在被输入到Rasterizer Stage之前,从管线输入回内存中,也就是说,从 VS 或 GS (如果有GS的话)中输出的
顶点有机会被输入到内存中,这些数据可以重新成为管线的输入数据或者成为CPU可读取的数据。
5、Rasterizer Stage:
负责裁剪图元,为 Pixel Shader 准备图元。以及决定如何使用 Pixel Shader。
6、Pixel-Shader Stage:
接受图元的差值数据,生成逐像素数据(例如颜色)。
7、Output_Merger Stage:
把不同类型的输出数据(Pixel Shader 的输出、深度和模板信息)与 RenderTarget 以及 Depth/Stencil Buffer 中的值进行混合,
生成最终管线的渲染结果。