Struct luminance::framebuffer::Framebuffer[][src]

pub struct Framebuffer<L, D, CS, DS> where
    L: Layerable,
    D: Dimensionable,
    D::Size: Copy,
    CS: ColorSlot<L, D>,
    DS: DepthSlot<L, D>, 
{ /* fields omitted */ }

Framebuffer with static layering, dimension, access and slots formats.

A Framebuffer is a GPU special object used to render to. Because framebuffers have a layering property, it’s possible to have regular render and layered rendering. The dimension of a framebuffer makes it possible to render to 1D, 2D, 3D and cubemaps.

A framebuffer has two kind of slots:

  • color slot ;
  • depth slot.

A framebuffer can have zero or several color slots and it can have zero or one depth slot. If you use several color slots, you’ll be performing what’s called MRT (M ultiple R ender T argets), enabling to render to several textures at once.

Methods

impl Framebuffer<Flat, Dim2, (), ()>
[src]

Get the back buffer with the given dimension.

impl<L, D, CS, DS> Framebuffer<L, D, CS, DS> where
    L: Layerable,
    D: Dimensionable,
    D::Size: Copy,
    CS: ColorSlot<L, D>,
    DS: DepthSlot<L, D>, 
[src]

Create a new farmebuffer.

You’re always handed at least the base level of the texture. If you require any additional levels, you can pass the number via the mipmaps parameter.

Trait Implementations

impl<L: Debug, D: Debug, CS: Debug, DS: Debug> Debug for Framebuffer<L, D, CS, DS> where
    L: Layerable,
    D: Dimensionable,
    D::Size: Copy,
    CS: ColorSlot<L, D>,
    DS: DepthSlot<L, D>, 
[src]

Formats the value using the given formatter. Read more

impl<L, D, CS, DS> Drop for Framebuffer<L, D, CS, DS> where
    L: Layerable,
    D: Dimensionable,
    D::Size: Copy,
    CS: ColorSlot<L, D>,
    DS: DepthSlot<L, D>, 
[src]

Executes the destructor for this type. Read more

Auto Trait Implementations

impl<L, D, CS, DS> Send for Framebuffer<L, D, CS, DS> where
    CS: Send,
    D: Send,
    DS: Send,
    L: Send

impl<L, D, CS, DS> Sync for Framebuffer<L, D, CS, DS> where
    CS: Sync,
    D: Sync,
    DS: Sync,
    L: Sync