Struct luminance::pipeline::Pipeline
[−]
[src]
pub struct Pipeline<'a, C, L, D, CS, DS> where C: 'a + HasFramebuffer + HasProgram + HasTess + HasTexture + HasBuffer,
L: 'a + Layerable,
D: 'a + Dimensionable,
D::Size: Copy,
CS: 'a + ColorSlot<C, L, D>,
DS: 'a + DepthSlot<C, L, D> { pub framebuffer: &'a Framebuffer<C, L, D, CS, DS>, pub clear_color: [f32; 4], pub texture_set: &'a [TextureProxy<'a, C>], pub buffer_set: &'a [UniformBufferProxy<'a, C>], pub shading_commands: Vec<Pipe<'a, C, ShadingCommand<'a, C>>>, }
A dynamic rendering pipeline. A pipeline is responsible of rendering into a Framebuffer
.
L
refers to the Layering
of the underlying Framebuffer
.
D
refers to the Dim
of the underlying Framebuffer
.
CS
and DS
are – respectively – the color and depth Slot
of the underlying
Framebuffer
.
Fields
framebuffer: &'a Framebuffer<C, L, D, CS, DS>
The embedded framebuffer.
clear_color: [f32; 4]
The color used to clean the framebuffer when executing the pipeline.
texture_set: &'a [TextureProxy<'a, C>]
Texture set.
buffer_set: &'a [UniformBufferProxy<'a, C>]
Buffer set.
shading_commands: Vec<Pipe<'a, C, ShadingCommand<'a, C>>>
Shading commands to render into the embedded framebuffer.
Methods
impl<'a, C, L, D, CS, DS> Pipeline<'a, C, L, D, CS, DS> where C: HasPipeline,
L: Layerable,
D: Dimensionable,
D::Size: Copy,
CS: ColorSlot<C, L, D>,
DS: DepthSlot<C, L, D>
[src]
L: Layerable,
D: Dimensionable,
D::Size: Copy,
CS: ColorSlot<C, L, D>,
DS: DepthSlot<C, L, D>
fn new(framebuffer: &'a Framebuffer<C, L, D, CS, DS>,
clear_color: [f32; 4],
texture_set: &'a [TextureProxy<'a, C>],
buffer_set: &'a [UniformBufferProxy<'a, C>],
shading_commands: Vec<Pipe<'a, C, ShadingCommand<'a, C>>>)
-> Self
clear_color: [f32; 4],
texture_set: &'a [TextureProxy<'a, C>],
buffer_set: &'a [UniformBufferProxy<'a, C>],
shading_commands: Vec<Pipe<'a, C, ShadingCommand<'a, C>>>)
-> Self
Create a new pipeline.
fn run(&self)
Run a Pipeline
.