pub trait PassBackend {
// Required methods
fn ensure_surface(
&mut self,
id: SurfaceId,
desc: &SurfaceDesc,
) -> WavyteResult<()>;
fn exec_scene(
&mut self,
pass: &ScenePass,
assets: &PreparedAssetStore,
) -> WavyteResult<()>;
fn exec_offscreen(
&mut self,
pass: &OffscreenPass,
assets: &PreparedAssetStore,
) -> WavyteResult<()>;
fn exec_composite(
&mut self,
pass: &CompositePass,
assets: &PreparedAssetStore,
) -> WavyteResult<()>;
fn readback_rgba8(
&mut self,
surface: SurfaceId,
plan: &RenderPlan,
assets: &PreparedAssetStore,
) -> WavyteResult<FrameRGBA>;
}Expand description
Backend execution interface for individual render pass kinds.
Required Methods§
Sourcefn ensure_surface(
&mut self,
id: SurfaceId,
desc: &SurfaceDesc,
) -> WavyteResult<()>
fn ensure_surface( &mut self, id: SurfaceId, desc: &SurfaceDesc, ) -> WavyteResult<()>
Ensure backing storage exists for the declared render surface.
Sourcefn exec_scene(
&mut self,
pass: &ScenePass,
assets: &PreparedAssetStore,
) -> WavyteResult<()>
fn exec_scene( &mut self, pass: &ScenePass, assets: &PreparedAssetStore, ) -> WavyteResult<()>
Execute one scene pass that draws source assets into a target surface.
Sourcefn exec_offscreen(
&mut self,
pass: &OffscreenPass,
assets: &PreparedAssetStore,
) -> WavyteResult<()>
fn exec_offscreen( &mut self, pass: &OffscreenPass, assets: &PreparedAssetStore, ) -> WavyteResult<()>
Execute one offscreen effect pass.
Sourcefn exec_composite(
&mut self,
pass: &CompositePass,
assets: &PreparedAssetStore,
) -> WavyteResult<()>
fn exec_composite( &mut self, pass: &CompositePass, assets: &PreparedAssetStore, ) -> WavyteResult<()>
Execute one composite pass that combines intermediate surfaces.
Sourcefn readback_rgba8(
&mut self,
surface: SurfaceId,
plan: &RenderPlan,
assets: &PreparedAssetStore,
) -> WavyteResult<FrameRGBA>
fn readback_rgba8( &mut self, surface: SurfaceId, plan: &RenderPlan, assets: &PreparedAssetStore, ) -> WavyteResult<FrameRGBA>
Read back final frame pixels from surface.