Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 |