pub struct Depth {
pub test: DepthTest,
pub write: bool,
pub range: (f32, f32),
pub clamp: DepthClamp,
}Expand description
Represents the depth parameters of a draw command.
Fields§
§test: DepthTestThe function that the GPU will use to determine whether to write over an existing pixel
on the target. Don’t forget to set depth_write appropriately if you use a depth test.
See the DepthTest documentation for more details.
The default is Overwrite.
write: boolSets whether the GPU will write the depth values on the depth buffer if they pass the depth test.
The default is false. You most likely want true if you’re doing depth testing.
If you pass true but don’t have a depth buffer available, drawing will produce
a NoDepthBuffer error.
range: (f32, f32)The range of possible Z values in surface coordinates.
Just like OpenGL turns X and Y coordinates between -1.0 and 1.0 into surface
coordinates, it will also map your Z coordinates to a certain range which you can
specify here.
The two values must be between 0.0 and 1.0, anything outside this range will result
in a panic. By default the depth range is (0.0, 1.0).
The first value of the tuple must be the “near” value, where -1.0 will be mapped.
The second value must be the “far” value, where 1.0 will be mapped.
It is possible for the “near” value to be greater than the “far” value.
clamp: DepthClampSets whether the depth values of samples should be clamped to 0.0 and 1.0.
The default value is NoClamp.
Trait Implementations§
impl Copy for Depth
Auto Trait Implementations§
impl Freeze for Depth
impl RefUnwindSafe for Depth
impl Send for Depth
impl Sync for Depth
impl Unpin for Depth
impl UnwindSafe for Depth
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,
Source§impl<T> Content for Twhere
T: Copy,
impl<T> Content for Twhere
T: Copy,
Source§fn read<F, E>(size: usize, f: F) -> Result<T, E>
fn read<F, E>(size: usize, f: F) -> Result<T, E>
Owned.Source§fn get_elements_size() -> usize
fn get_elements_size() -> usize
Source§fn to_void_ptr(&self) -> *const ()
fn to_void_ptr(&self) -> *const ()
Source§fn ref_from_ptr<'a>(ptr: *mut (), size: usize) -> Option<*mut T>
fn ref_from_ptr<'a>(ptr: *mut (), size: usize) -> Option<*mut T>
Source§fn is_size_suitable(size: usize) -> bool
fn is_size_suitable(size: usize) -> bool
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SetParameter for T
impl<T> SetParameter for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.