Struct luminance::pipeline::Pipeline
[−]
[src]
pub struct Pipeline<'a, C, L, D, CS, DS> where C: 'a + HasFramebuffer + HasProgram + HasTessellation + 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]
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
.