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
fn depth_format() -> Option<PixelFormat>
fn depth_format() -> Option<PixelFormat>
Turn a depth/stencil slot into a pixel format representing the depth information.
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>,
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>,
Reify a raw texture into a depth slot.