Struct glium::draw_parameters::Depth
source · 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: DepthTest
The 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: bool
Sets 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: DepthClamp
Sets 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 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> Content for Twhere
T: Copy,
impl<T> Content for Twhere T: Copy,
source§fn read<F, E>(size: usize, f: F) -> Result<T, E>where
F: FnOnce(&mut T) -> Result<(), E>,
fn read<F, E>(size: usize, f: F) -> Result<T, E>where F: FnOnce(&mut T) -> Result<(), E>,
Owned
.