Skip to main content

FramePass

Trait FramePass 

Source
pub trait FramePass {
    // Required methods
    fn name(&self) -> &'static str;
    fn stage(&self) -> PassStage;
    fn record(
        &mut self,
        encoder: &mut CommandEncoder,
        target: &FrameTarget<'_>,
    ) -> Result<()>;
    fn attach(&mut self, gpu: &GpuContext, frame: FrameFormat) -> Result<()>;

    // Provided methods
    fn color_load(&self) -> ColorLoad { ... }
    fn depth_convention(&self) -> Option<DepthConvention> { ... }
    fn depth_read(&self) -> Option<DepthConvention> { ... }
    fn shares_pass(&self) -> bool { ... }
    fn clear_color(&self) -> Color { ... }
    fn prepare(
        &mut self,
        _encoder: &mut CommandEncoder,
        _target: &FrameTarget<'_>,
    ) -> Result<()> { ... }
    fn draw(
        &mut self,
        _pass: &mut RenderPass<'_>,
        _target: &FrameTarget<'_>,
    ) -> Result<()> { ... }
}

Required Methods§

Source

fn name(&self) -> &'static str

Source

fn stage(&self) -> PassStage

Source

fn record( &mut self, encoder: &mut CommandEncoder, target: &FrameTarget<'_>, ) -> Result<()>

Source

fn attach(&mut self, gpu: &GpuContext, frame: FrameFormat) -> Result<()>

Provided Methods§

Source

fn color_load(&self) -> ColorLoad

Source

fn depth_convention(&self) -> Option<DepthConvention>

None means the pass writes no depth; Some must match the frame’s convention to register.

Source

fn depth_read(&self) -> Option<DepthConvention>

Source

fn shares_pass(&self) -> bool

True joins the stage’s shared render pass, so attach must build pipelines against the frame’s color and depth formats.

Source

fn clear_color(&self) -> Color

Read before prepare, and only when color_load is Clear.

Source

fn prepare( &mut self, _encoder: &mut CommandEncoder, _target: &FrameTarget<'_>, ) -> Result<()>

Encoder work for a sharing pass; runs just before its render pass opens, not at frame start.

Source

fn draw( &mut self, _pass: &mut RenderPass<'_>, _target: &FrameTarget<'_>, ) -> Result<()>

Runs inside the shared pass, which owns the load ops; viewport and scissor carry over from earlier draws.

Implementors§