Skip to main content

Scene

Trait Scene 

Source
pub trait Scene {
    // Required methods
    fn update(
        &mut self,
        delta_time: f32,
        input_state: &InputState,
        mouse_state: &MouseState,
        renderer: Option<&mut Renderer<'_>>,
    ) -> SceneTransition;
    fn render(&mut self, pass: &mut DrawPass<'_>);

    // Provided methods
    fn on_window_event(&mut self, _event: &WindowEvent) { ... }
    fn render_overlay(
        &mut self,
        _device: &Device,
        _queue: &Queue,
        _encoder: &mut CommandEncoder,
        _view: &TextureView,
    ) { ... }
}

Required Methods§

Source

fn update( &mut self, delta_time: f32, input_state: &InputState, mouse_state: &MouseState, renderer: Option<&mut Renderer<'_>>, ) -> SceneTransition

Source

fn render(&mut self, pass: &mut DrawPass<'_>)

Provided Methods§

Source

fn on_window_event(&mut self, _event: &WindowEvent)

Receives every raw winit window event, ahead of any App-level handling. Default is a no-op; override to feed events into something like egui-winit that needs the raw stream.

Source

fn render_overlay( &mut self, _device: &Device, _queue: &Queue, _encoder: &mut CommandEncoder, _view: &TextureView, )

Called after the main render pass has ended but before the frame is submitted, with the same encoder/target view so a second pass can be recorded on top (e.g. compositing an egui UI). Default is a no-op.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§