D3D_PRIMITIVE_TOPOLOGY 枚举 (d3dcommon.h)
指示管道如何解释绑定到 输入装配器阶段的顶点数据的值。 这些 基元拓扑值 确定顶点数据在屏幕上的呈现方式。
注意
对于使用 Direct3D 10 进行编程,此 API 的类型别名以 开头 D3D10_
,而不是 D3D_
。 这些 Direct3D 10 类型别名在 、 d3d10misc.h
和 d3d10shader.h
中d3d10.h
定义。
语法
typedef enum D3D_PRIMITIVE_TOPOLOGY {
D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2,
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
D3D_PRIMITIVE_TOPOLOGY_TRIANGLEFAN,
D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13,
D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34,
D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35,
D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36,
D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37,
D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38,
D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39,
D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40,
D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41,
D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42,
D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43,
D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44,
D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45,
D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46,
D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47,
D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48,
D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49,
D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50,
D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51,
D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52,
D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53,
D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54,
D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55,
D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56,
D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57,
D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58,
D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59,
D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60,
D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61,
D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62,
D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63,
D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64,
D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED,
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,
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
} ;
常量
D3D_PRIMITIVE_TOPOLOGY_UNDEFINED 值: 0 尚未使用基元拓扑初始化 IA 阶段。 除非定义了基元拓扑,否则 IA 阶段将无法正常运行。 |
D3D_PRIMITIVE_TOPOLOGY_POINTLIST 值:1 将顶点数据解释为点列表。 |
D3D_PRIMITIVE_TOPOLOGY_LINELIST 值: 2 将顶点数据解释为线条列表。 |
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP 值: 3 将顶点数据解释为线条带。 |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST 值: 4 将顶点数据解释为三角形列表。 |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP 值: 5 将顶点数据解释为三角形带。 |
D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ 值: 10 将顶点数据解释为具有相邻数据的线条列表。 |
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ 值: 11 将顶点数据解释为具有相邻数据的线条带。 |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ 值: 12 将顶点数据解释为具有相邻数据的三角形列表。 |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ 值: 13 将顶点数据解释为具有相邻数据的三角形带。 |
D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST 值: 33 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST 值: 34 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST 值: 35 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST 值: 36 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST 值: 37 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST 值: 38 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST 值: 39 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST 值: 40 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST 值: 41 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST 值: 42 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST 值: 43 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST 值: 44 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST 值: 45 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST 值: 46 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST 值: 47 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST 值: 48 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST 值: 49 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST 值: 50 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST 值: 51 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST 值: 52 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST 值: 53 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST 值: 54 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST 值: 55 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST 值: 56 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST 值: 57 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST 值: 58 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST 值: 59 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST 值: 60 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST 值: 61 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST 值: 62 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST 值: 63 将顶点数据解释为修补程序列表。 |
D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST 值: 64 将顶点数据解释为修补程序列表。 |
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 将顶点数据解释为修补程序列表。 |
备注
使用 ID3D11DeviceContext::IASetPrimitiveTopology 方法和 来自 D3D_PRIMITIVE_TOPOLOGY 的值将基元拓扑绑定到输入装配器阶段。 使用 ID3D11DeviceContext::IAGetPrimitiveTopology 方法检索输入装配器阶段的基元拓扑。
下图显示了几何着色器对象的各种基元类型。
要求
标头 | d3dcommon.h |