Struct wgpu_types::PrimitiveState
source · #[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: PrimitiveTopology
The 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: FrontFace
The face to consider the front for the purpose of culling and stencil operations.
cull_mode: Option<Face>
The face culling mode.
unclipped_depth: bool
If 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: PolygonMode
Controls 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: bool
If 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 moresource§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>,
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 ==
.