[][src]Struct glium::Depth

pub struct Depth {
    pub test: DepthTest,
    pub write: bool,
    pub range: (f32, f32),
    pub clamp: DepthClamp,
}

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 Clone for Depth[src]

impl Copy for Depth[src]

impl Debug for Depth[src]

impl Default for Depth[src]

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Content for T where
    T: Copy
[src]

type Owned = T

A type that holds a sized version of the content.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.