#[repr(C)]pub struct PrimitiveState {
pub topology: PrimitiveTopology,
pub strip_index_format: Option<IndexFormat>,
pub front_face: FrontFace,
pub cull_mode: Option<Face>,
pub unclipped_depth: bool,
pub polygon_mode: PolygonMode,
pub conservative: bool,
}Expand description
Describes the state of primitive assembly and rasterization in a render pipeline.
Corresponds to WebGPU GPUPrimitiveState.
Fields§
§topology: PrimitiveTopologyThe primitive topology used to interpret vertices.
strip_index_format: Option<IndexFormat>When drawing strip topologies with indices, this is the required format for the index buffer. This has no effect on non-indexed or non-strip draws.
Specifying this value enables primitive restart, allowing individual strips to be separated
with the index value 0xFFFF when using Uint16, or 0xFFFFFFFF when using Uint32.
front_face: FrontFaceThe face to consider the front for the purpose of culling and stencil operations.
cull_mode: Option<Face>The face culling mode.
unclipped_depth: boolIf set to true, the polygon depth is not clipped to 0-1 before rasterization.
Enabling this requires Features::DEPTH_CLIP_CONTROL to be enabled.
polygon_mode: PolygonModeControls the way each polygon is rasterized. Can be either Fill (default), Line or Point
Setting this to Line requires Features::POLYGON_MODE_LINE to be enabled.
Setting this to Point requires Features::POLYGON_MODE_POINT to be enabled.
conservative: boolIf set to true, the primitives are rendered with conservative overestimation. I.e. any rastered pixel touched by it is filled.
Only valid for [PolygonMode::Fill]!
Enabling this requires Features::CONSERVATIVE_RASTERIZATION to be enabled.
Trait Implementations§
Source§impl Clone for PrimitiveState
impl Clone for PrimitiveState
Source§fn clone(&self) -> PrimitiveState
fn clone(&self) -> PrimitiveState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more