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_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
| Requirement | Value |
|---|---|
| Header | d3dcommon.h |