#[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.
This is required for indexed drawing with strip topology and must match index buffer format, as primitive restart is always enabled
in all backends and individual strips will 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 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PrimitiveState
Source§impl Debug for PrimitiveState
impl Debug for PrimitiveState
Source§impl Default for PrimitiveState
impl Default for PrimitiveState
Source§fn default() -> PrimitiveState
fn default() -> PrimitiveState
Source§impl<'de> Deserialize<'de> for PrimitiveState
impl<'de> Deserialize<'de> for PrimitiveState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for PrimitiveState
Source§impl Hash for PrimitiveState
impl Hash for PrimitiveState
Source§impl PartialEq for PrimitiveState
impl PartialEq for PrimitiveState
Source§fn eq(&self, other: &PrimitiveState) -> bool
fn eq(&self, other: &PrimitiveState) -> bool
self and other values to be equal, and is used by ==.