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.
Auto Trait Implementations§
impl<RenderBackend> Freeze for RenderPipelineBuilder<RenderBackend>
impl<RenderBackend> RefUnwindSafe for RenderPipelineBuilder<RenderBackend>where
<RenderBackend as Backend>::PipelineLayout: RefUnwindSafe,
<RenderBackend as Backend>::Buffer: RefUnwindSafe,
<RenderBackend as Backend>::Memory: RefUnwindSafe,
impl<RenderBackend> Send for RenderPipelineBuilder<RenderBackend>
impl<RenderBackend> Sync for RenderPipelineBuilder<RenderBackend>
impl<RenderBackend> Unpin for RenderPipelineBuilder<RenderBackend>
impl<RenderBackend> UnwindSafe for RenderPipelineBuilder<RenderBackend>where
<RenderBackend as Backend>::PipelineLayout: UnwindSafe,
<RenderBackend as Backend>::Buffer: UnwindSafe,
<RenderBackend as Backend>::Memory: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more