#[repr(C)]pub struct DepthStencilState {
pub format: TextureFormat,
pub depth_write_enabled: Option<bool>,
pub depth_compare: Option<CompareFunction>,
pub stencil: StencilState,
pub bias: DepthBiasState,
}Expand description
Describes the depth/stencil state in a render pipeline.
Corresponds to WebGPU GPUDepthStencilState.
Fields§
§format: TextureFormatFormat of the depth/stencil buffer, must be special depth format. Must match the format
of the depth/stencil attachment in CommandEncoder::begin_render_pass.
depth_write_enabled: Option<bool>If disabled, depth will not be written to. Must be Some if format is
a depth format.
depth_compare: Option<CompareFunction>Comparison function used to compare depth values in the depth test.
Must be Some if depth_write_enabled is true or either stencil face
depth_fail_op is not Keep.
stencil: StencilStateStencil state.
bias: DepthBiasStateDepth bias state.
Implementations§
Source§impl DepthStencilState
impl DepthStencilState
Sourcepub fn stencil(
format: TextureFormat,
stencil: StencilState,
) -> DepthStencilState
pub fn stencil( format: TextureFormat, stencil: StencilState, ) -> DepthStencilState
Construct DepthStencilState for a stencil operation with no depth operation.
Panics if format does not have a stencil aspect.
Sourcepub fn is_depth_enabled(&self) -> bool
pub fn is_depth_enabled(&self) -> bool
Returns true if the depth testing is enabled.
Sourcepub fn is_depth_read_only(&self) -> bool
pub fn is_depth_read_only(&self) -> bool
Returns true if the state doesn’t mutate the depth buffer.
Sourcepub fn is_stencil_read_only(&self, cull_mode: Option<Face>) -> bool
pub fn is_stencil_read_only(&self, cull_mode: Option<Face>) -> bool
Returns true if the state doesn’t mutate the stencil.
Sourcepub fn is_read_only(&self, cull_mode: Option<Face>) -> bool
pub fn is_read_only(&self, cull_mode: Option<Face>) -> bool
Returns true if the state doesn’t mutate either depth or stencil of the target.
Trait Implementations§
Source§impl Clone for DepthStencilState
impl Clone for DepthStencilState
Source§fn clone(&self) -> DepthStencilState
fn clone(&self) -> DepthStencilState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DepthStencilState
impl Debug for DepthStencilState
Source§impl<'de> Deserialize<'de> for DepthStencilState
impl<'de> Deserialize<'de> for DepthStencilState
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<DepthStencilState, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<DepthStencilState, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Hash for DepthStencilState
impl Hash for DepthStencilState
Source§impl PartialEq for DepthStencilState
impl PartialEq for DepthStencilState
Source§impl Serialize for DepthStencilState
impl Serialize for DepthStencilState
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for DepthStencilState
impl StructuralPartialEq for DepthStencilState
Auto Trait Implementations§
impl Freeze for DepthStencilState
impl RefUnwindSafe for DepthStencilState
impl Send for DepthStencilState
impl Sync for DepthStencilState
impl Unpin for DepthStencilState
impl UnwindSafe for DepthStencilState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.