DicrectX11的管线渲染过程基本总结如下:
1,Input Assembler Stage
根据用户输入的顶点数组和索引数组建立基本多边形和拓扑类型图形;
2,Vertex Shader
程序员可自定义阶段,用于在抽象空间中顶点的空间变换;
3,Hull Shader Stage、Tessellation Stage、Domain Shader Stage
曲面细分渲染阶段,为可选阶段。即显卡动态的根据摄像头中物体的远近距离在设定多边形的细节精度
4,Geometry Shader Stage
也是可选阶段,输入为一个完整的多边形,点、线段或三角形,这个阶段直接对输入的多边形进行操作。
5. Rasterizer Stage
光栅化阶段,主要处理视口变换,隐藏面消除和顶点插值计算
6. Pixel Shader Stage
对于像素的Shader处理计算,也是程序员可自定义阶段
7. Output Merger Stage
这个阶段即输出片段的混合阶段。该阶段不可编程,但是高度可调节
一,Input Assembler Stage
D3D11中常见的拓扑类型有以下几种:
1,Point List
2,Line Strip: 所有的点按顺序连接成线段;
3,Line List: 所有的顶点按两两配对形成线段,即每两个相邻的顶点只形成一条线段;
4,Triangle Strip:所有顶点顺序组成三角形,数组中前三个顶点组成第一个三角形,从第四哥顶点开始与前两个顶点组成新三角形
5,Triangle List:所有顶点三三配对组成三角形:
6,Control Point PatchList:曲面细分Tessellation阶段使用的类型;