这里需要注意: LIST和STRIP的不同,list是3个索引一组,strip是前两个顶点和后一个顶点一组,这说明strip绘制的时候前后两个几何体会耦合在一起。从某种意义上来讲STRIP占的带宽更少,但是不灵活。list会导致很多重复的顶点,但是比较灵活,对于目前来说鼓励使用list,但是在使用list的时候必须传递更多点。一个4变形2个3角形,共用的顶点需要传两次。
下图显示了各种原始类型的几何着色器对象。
-
IA阶段还没有被初始化为一个原始的拓扑结构。IA阶段将不能正常工作,除非原始拓扑定义。
D3D_PRIMITIVE_TOPOLOGY_POINTLIST
-
解释的顶点数据点列表。
D3D_PRIMITIVE_TOPOLOGY_LINELIST
-
解释的顶点数据行的列表。
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP
-
行条解释的顶点数据。
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
-
解释的列表三角形的顶点数据。
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
-
解释为三角形的顶点数据条。
D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
-
解释的顶点数据行与邻接数据的列表。
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
-
解释邻接数据条带为一条线的顶点数据。
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
-
解读顶点的三角形邻接数据的列表数据。
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
-
作为三角形带与相邻数据解释的顶点数据。
D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED
-
IA阶段还没有被初始化为一个原始的拓扑结构。IA阶段将不能正常工作,除非原始拓扑定义。
D3D10_PRIMITIVE_TOPOLOGY_POINTLIST
-
解释的顶点数据点列表。
D3D10_PRIMITIVE_TOPOLOGY_LINELIST
-
解释的顶点数据行的列表。
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP
-
行条解释的顶点数据。
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST
-
解释的列表三角形的顶点数据。
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
-
解释为三角形的顶点数据条。
D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
-
解释的顶点数据行与邻接数据的列表。
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
-
解释邻接数据条带为一条线的顶点数据。
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
-
解读顶点的三角形邻接数据的列表数据。
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
-
作为三角形带与相邻数据解释的顶点数据。
D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED
-
IA阶段还没有被初始化为一个原始的拓扑结构。IA阶段将不能正常工作,除非原始拓扑定义。
D3D11_PRIMITIVE_TOPOLOGY_POINTLIST
-
解释的顶点数据点列表。
D3D11_PRIMITIVE_TOPOLOGY_LINELIST
-
解释的顶点数据行的列表。
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP
-
行条解释的顶点数据。
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST
-
解释的列表三角形的顶点数据。
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
-
解释为三角形的顶点数据条。
D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
-
解释的顶点数据行与邻接数据的列表。
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
-
解释邻接数据条带为一条线的顶点数据。
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
-
解读顶点的三角形邻接数据的列表数据。
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
-
作为三角形带与相邻数据解释的顶点数据。
D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
-
解释的顶点数据作为一个修补程序列表。
![插图的各种原始类型的几何着色器对象 插图的各种原始类型的几何着色器对象](http://i.msdn.microsoft.com/dynimg/IC520431.png)
备注
使用 ID3D11DeviceContext :: IASetPrimitiveTopology的方法和从D3D_PRIMITIVE_TOPOLOGY值绑定一个原始的拓扑,以汇编器的输入阶段。使用ID3D11DeviceContext :: IAGetPrimitiveTopology方法获取原始输入汇编阶段的拓扑结构。