D3D_PRIMITIVE_TOPOLOGY enumeration (d3dcommon.h)
Values that indicate how the pipeline interprets vertex data that is bound to the input-assembler stage. These primitive topology values determine how the vertex data is rendered on screen.
Note
For programming with Direct3D 10, this API has a type alias that begins D3D10_
instead of D3D_
. These Direct3D 10 type aliases are defined in d3d10.h
, d3d10misc.h
, and d3d10shader.h
.
Syntax
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
} ;
Constants
D3D_PRIMITIVE_TOPOLOGY_UNDEFINED Value: 0 The IA stage has not been initialized with a primitive topology. The IA stage will not function properly unless a primitive topology is defined. |
D3D_PRIMITIVE_TOPOLOGY_POINTLIST Value: 1 Interpret the vertex data as a list of points. |
D3D_PRIMITIVE_TOPOLOGY_LINELIST Value: 2 Interpret the vertex data as a list of lines. |
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP Value: 3 Interpret the vertex data as a line strip. |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST Value: 4 Interpret the vertex data as a list of triangles. |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP Value: 5 Interpret the vertex data as a triangle strip. |
D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ Value: 10 Interpret the vertex data as a list of lines with adjacency data. |
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ Value: 11 Interpret the vertex data as a line strip with adjacency data. |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ Value: 12 Interpret the vertex data as a list of triangles with adjacency data. |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ Value: 13 Interpret the vertex data as a triangle strip with adjacency data. |
D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST Value: 33 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST Value: 34 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST Value: 35 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST Value: 36 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST Value: 37 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST Value: 38 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST Value: 39 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST Value: 40 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST Value: 41 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST Value: 42 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST Value: 43 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST Value: 44 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST Value: 45 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST Value: 46 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST Value: 47 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST Value: 48 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST Value: 49 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST Value: 50 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST Value: 51 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST Value: 52 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST Value: 53 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST Value: 54 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST Value: 55 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST Value: 56 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST Value: 57 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST Value: 58 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST Value: 59 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST Value: 60 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST Value: 61 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST Value: 62 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST Value: 63 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST Value: 64 Interpret the vertex data as a patch list. |
D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED The IA stage has not been initialized with a primitive topology. The IA stage will not function properly unless a primitive topology is defined. |
D3D10_PRIMITIVE_TOPOLOGY_POINTLIST Interpret the vertex data as a list of points. |
D3D10_PRIMITIVE_TOPOLOGY_LINELIST Interpret the vertex data as a list of lines. |
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP Interpret the vertex data as a line strip. |
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST Interpret the vertex data as a list of triangles. |
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP Interpret the vertex data as a triangle strip. |
D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ Interpret the vertex data as a list of lines with adjacency data. |
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ Interpret the vertex data as a line strip with adjacency data. |
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ Interpret the vertex data as a list of triangles with adjacency data. |
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ Interpret the vertex data as a triangle strip with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED The IA stage has not been initialized with a primitive topology. The IA stage will not function properly unless a primitive topology is defined. |
D3D11_PRIMITIVE_TOPOLOGY_POINTLIST Interpret the vertex data as a list of points. |
D3D11_PRIMITIVE_TOPOLOGY_LINELIST Interpret the vertex data as a list of lines. |
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP Interpret the vertex data as a line strip. |
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST Interpret the vertex data as a list of triangles. |
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP Interpret the vertex data as a triangle strip. |
D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ Interpret the vertex data as a list of lines with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ Interpret the vertex data as a line strip with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ Interpret the vertex data as a list of triangles with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ Interpret the vertex data as a triangle strip with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST Interpret the vertex data as a patch list. |
Remarks
Use the ID3D11DeviceContext::IASetPrimitiveTopology method and a value from D3D_PRIMITIVE_TOPOLOGY to bind a primitive topology to the input-assembler stage. Use the ID3D11DeviceContext::IAGetPrimitiveTopology method to retrieve the primitive topology for the input-assembler stage.
The following diagram shows the various primitive types for a geometry shader object.
Requirements
Requirement | Value |
---|---|
Header | d3dcommon.h |