VkPrimitiveTopology - Supported primitive topologies
Description
PRIMITIVE_TOPOLOGY_POINT_LIST specifies a series of separate point primitives.
PRIMITIVE_TOPOLOGY_LINE_LIST specifies a series of separate line primitives.
PRIMITIVE_TOPOLOGY_LINE_STRIP specifies a series of connected line primitives with consecutive lines sharing a vertex.
PRIMITIVE_TOPOLOGY_TRIANGLE_LIST specifies a series of separate triangle primitives.
PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP specifies a series of connected triangle primitives with consecutive triangles sharing an edge.
PRIMITIVE_TOPOLOGY_TRIANGLE_FAN specifies a series of connected triangle primitives with all triangles sharing a common vertex. If the
VK_KHR_portability_subsetextension is enabled, and PhysicalDevicePortabilitySubsetFeaturesKHR::triangleFansis FALSE, then triangle fans are not supported by the implementation, and PRIMITIVE_TOPOLOGY_TRIANGLE_FAN must not be used.PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY specifies a series of separate line primitives with adjacency.
PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY specifies a series of connected line primitives with adjacency, with consecutive primitives sharing three vertices.
PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY specifies a series of separate triangle primitives with adjacency.
PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY specifies connected triangle primitives with adjacency, with consecutive triangles sharing an edge.
PRIMITIVE_TOPOLOGY_PATCH_LIST specifies separate patch primitives.
Each primitive topology, and its construction from a list of vertices, is described in detail below with a supporting diagram, according to the following key:
Vertex | A point in 3-dimensional space. Positions chosen within the diagrams are arbitrary and for illustration only. | |
primitive topology key vertex number
| Vertex Number | Sequence position of a vertex within the provided vertex data. |
primitive topology key provoking vertex
| Provoking Vertex | Provoking vertex within the main primitive. The tail is angled towards the relevant primitive. Used in . |
| Primitive Edge | An edge connecting the points of a main primitive. |
primitive topology key adjacency edge
| Adjacency Edge | Points connected by these lines do not contribute to a main primitive, and are only accessible in a . |
primitive topology key winding order
| Winding Order | The relative order in which vertices are defined within a primitive, used in the . This ordering has no specific start or end point. |
The diagrams are supported with mathematical definitions where the vertices (v) and primitives (p) are numbered starting from 0; v0 is the first vertex in the provided data and p0 is the first primitive in the set of primitives defined by the vertices and topology.
See Also
VK_VERSION_1_0, PipelineInputAssemblyStateCreateInfo, cmdSetPrimitiveTopology, cmdSetPrimitiveTopology
Constructors
Instances6Eq, Ord, Read, Show, Storable, Zero
Eq PrimitiveTopologyDefined in vulkan-3.27 · Vulkan.Core10.Enums.PrimitiveTopologyOrd PrimitiveTopologyDefined in vulkan-3.27 · Vulkan.Core10.Enums.PrimitiveTopologyRead PrimitiveTopologyDefined in vulkan-3.27 · Vulkan.Core10.Enums.PrimitiveTopologyShow PrimitiveTopologyDefined in vulkan-3.27 · Vulkan.Core10.Enums.PrimitiveTopologyStorable PrimitiveTopologyDefined in vulkan-3.27 · Vulkan.Core10.Enums.PrimitiveTopologyZero PrimitiveTopologyDefined in vulkan-3.27 · Vulkan.Core10.Enums.PrimitiveTopology