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_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_UNDEFINEDValue: 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_POINTLISTValue: 1 Interpret the vertex data as a list of points. |
D3D_PRIMITIVE_TOPOLOGY_LINELISTValue: 2 Interpret the vertex data as a list of lines. |
D3D_PRIMITIVE_TOPOLOGY_LINESTRIPValue: 3 Interpret the vertex data as a line strip. |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELISTValue: 4 Interpret the vertex data as a list of triangles. |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIPValue: 5 Interpret the vertex data as a triangle strip. |
D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJValue: 10 Interpret the vertex data as a list of lines with adjacency data. |
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJValue: 11 Interpret the vertex data as a line strip with adjacency data. |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJValue: 12 Interpret the vertex data as a list of triangles with adjacency data. |
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJValue: 13 Interpret the vertex data as a triangle strip with adjacency data. |
D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLISTValue: 33 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLISTValue: 34 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLISTValue: 35 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLISTValue: 36 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLISTValue: 37 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLISTValue: 38 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLISTValue: 39 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLISTValue: 40 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLISTValue: 41 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLISTValue: 42 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLISTValue: 43 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLISTValue: 44 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLISTValue: 45 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLISTValue: 46 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLISTValue: 47 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLISTValue: 48 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLISTValue: 49 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLISTValue: 50 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLISTValue: 51 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLISTValue: 52 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLISTValue: 53 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLISTValue: 54 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLISTValue: 55 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLISTValue: 56 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLISTValue: 57 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLISTValue: 58 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLISTValue: 59 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLISTValue: 60 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLISTValue: 61 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLISTValue: 62 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLISTValue: 63 Interpret the vertex data as a patch list. |
D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLISTValue: 64 Interpret the vertex data as a patch list. |
D3D10_PRIMITIVE_TOPOLOGY_UNDEFINEDThe 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_POINTLISTInterpret the vertex data as a list of points. |
D3D10_PRIMITIVE_TOPOLOGY_LINELISTInterpret the vertex data as a list of lines. |
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIPInterpret the vertex data as a line strip. |
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELISTInterpret the vertex data as a list of triangles. |
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIPInterpret the vertex data as a triangle strip. |
D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJInterpret the vertex data as a list of lines with adjacency data. |
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJInterpret the vertex data as a line strip with adjacency data. |
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJInterpret the vertex data as a list of triangles with adjacency data. |
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJInterpret the vertex data as a triangle strip with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_UNDEFINEDThe 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_POINTLISTInterpret the vertex data as a list of points. |
D3D11_PRIMITIVE_TOPOLOGY_LINELISTInterpret the vertex data as a list of lines. |
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIPInterpret the vertex data as a line strip. |
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELISTInterpret the vertex data as a list of triangles. |
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIPInterpret the vertex data as a triangle strip. |
D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJInterpret the vertex data as a list of lines with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJInterpret the vertex data as a line strip with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJInterpret the vertex data as a list of triangles with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJInterpret the vertex data as a triangle strip with adjacency data. |
D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLISTInterpret the vertex data as a patch list. |
D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLISTInterpret 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
| Header | d3dcommon.h |