Trait luminance::backend::depth_stencil_slot::DepthStencilSlot[][src]

pub trait DepthStencilSlot<B, D> where
    B: ?Sized + Framebuffer<D>,
    D: Dimensionable,
    D::Size: Copy
{ type DepthStencilTexture; fn depth_format() -> Option<PixelFormat>;
fn reify_depth_texture<C>(
        ctx: &mut C,
        size: D::Size,
        mipmaps: usize,
        sampler: &Sampler,
        framebuffer: &mut B::FramebufferRepr
    ) -> Result<Self::DepthStencilTexture, FramebufferError>
    where
        C: GraphicsContext<Backend = B>
; }
Expand description

A depth/stencil slot.

A depth/stencil slot represents the associated depth/stencil data within a Framebuffer. This type is entirely constructed at compile-time to ensure type safety. Even though this trait lives on the backend side of luminance, no backend is supposed to implement it, but instead use it.

Several types of depth/stencil slots exist:

  • None, represented by the () implementor. This means that no depth and no stencil information will be available for the framebuffer.
  • A single depth Texture. This type of depth/stenccil slot is often suitable for renderable framebuffer. The pixel format must implement [DepthPixel].
  • A combined depth/stencil Texture, allowing to use a depth buffer along with a stencil buffer.

Feel free to have a look at the list of implementors of this trait to know which types you can use as depth and stencil slots.

Associated Types

Depth data associated with this slot.

Required methods

Turn a depth/stencil slot into a pixel format representing the depth information.

Reify a raw texture into a depth slot.

Implementations on Foreign Types

Implementors