pub struct RenderPassBuilder<'a> { /* private fields */ }Expand description
Builder for creating render passes.
Implementations§
Source§impl<'a> RenderPassBuilder<'a>
impl<'a> RenderPassBuilder<'a>
pub fn new() -> Self
Sourcepub fn target(self, target: RenderTarget<'a>) -> Self
pub fn target(self, target: RenderTarget<'a>) -> Self
Set the render target (Surface or Framebuffer).
This is the simplified API - use this instead of manual color_attachment calls.
Sourcepub fn clear_color(self, color: impl Into<ClearOp>) -> Self
pub fn clear_color(self, color: impl Into<ClearOp>) -> Self
Set clear color for the render target.
Pass a wgpu::Color or use ClearOp::Load to preserve existing contents.
Sourcepub fn clear_depth(self, depth: f32) -> Self
pub fn clear_depth(self, depth: f32) -> Self
Set depth clear operation.
Sourcepub fn load_depth(self) -> Self
pub fn load_depth(self) -> Self
Load existing depth values instead of clearing.
Sourcepub fn color_attachment(
self,
view: Option<&'a TextureView>,
resolve_target: Option<&'a TextureView>,
ops: Operations<Color>,
) -> Self
pub fn color_attachment( self, view: Option<&'a TextureView>, resolve_target: Option<&'a TextureView>, ops: Operations<Color>, ) -> Self
Add a color attachment manually (advanced API).
For most cases, use .target() instead.
Sourcepub fn depth_stencil_attachment(
self,
view: &'a TextureView,
depth_ops: Option<Operations<f32>>,
stencil_ops: Option<Operations<u32>>,
) -> Self
pub fn depth_stencil_attachment( self, view: &'a TextureView, depth_ops: Option<Operations<f32>>, stencil_ops: Option<Operations<u32>>, ) -> Self
Add a depth-stencil attachment manually (advanced API).
For framebuffers with depth, the depth attachment is handled automatically
when using .target().
Sourcepub fn build(self, frame_context: &'a mut FrameContext) -> RenderPass<'a>
pub fn build(self, frame_context: &'a mut FrameContext) -> RenderPass<'a>
Builds the render pass and begins it on the provided frame context.
This takes ownership of the CommandEncoder from the FrameContext, and releases it
back to the FrameContext when the RenderPass is dropped or finish
is called.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for RenderPassBuilder<'a>
impl<'a> !RefUnwindSafe for RenderPassBuilder<'a>
impl<'a> Send for RenderPassBuilder<'a>
impl<'a> Sync for RenderPassBuilder<'a>
impl<'a> Unpin for RenderPassBuilder<'a>
impl<'a> !UnwindSafe for RenderPassBuilder<'a>
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more