Struct lambda_platform::gfx::pipeline::RenderPipelineBuilder
source · pub struct RenderPipelineBuilder<RenderBackend: Backend> { /* private fields */ }
Expand description
Builder for a gfx-hal backed render pipeline.
Implementations§
source§impl<RenderBackend: Backend> RenderPipelineBuilder<RenderBackend>
impl<RenderBackend: Backend> RenderPipelineBuilder<RenderBackend>
pub fn new() -> Self
pub fn with_buffer(
&mut self,
buffer: Buffer<RenderBackend>,
attributes: Vec<VertexAttribute>
) -> &mut Self
sourcepub fn with_push_constant(
&mut self,
stage: PipelineStage,
bytes: u32
) -> &mut Self
pub fn with_push_constant(
&mut self,
stage: PipelineStage,
bytes: u32
) -> &mut Self
Adds a push constant to the render pipeline at the set PipelineStage(s)
sourcepub fn with_push_constants(self, push_constants: Vec<PushConstantUpload>) -> Self
pub fn with_push_constants(self, push_constants: Vec<PushConstantUpload>) -> Self
Adds multiple push constants to the render pipeline at their set PipelineStage(s)
sourcepub fn build(
self,
gpu: &Gpu<RenderBackend>,
render_pass: &RenderPass<RenderBackend>,
vertex_shader: &ShaderModule<RenderBackend>,
fragment_shader: Option<&ShaderModule<RenderBackend>>,
buffers: &Vec<&Buffer<RenderBackend>>,
attributes: &[VertexAttribute]
) -> RenderPipeline<RenderBackend>
pub fn build(
self,
gpu: &Gpu<RenderBackend>,
render_pass: &RenderPass<RenderBackend>,
vertex_shader: &ShaderModule<RenderBackend>,
fragment_shader: Option<&ShaderModule<RenderBackend>>,
buffers: &Vec<&Buffer<RenderBackend>>,
attributes: &[VertexAttribute]
) -> RenderPipeline<RenderBackend>
Builds a render pipeline based on your builder configuration. You can configure a render pipeline to be however you’d like it to be.