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§
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§
Sourcefn on_window_event(&mut self, _event: &WindowEvent)
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.
Sourcefn render_overlay(
&mut self,
_device: &Device,
_queue: &Queue,
_encoder: &mut CommandEncoder,
_view: &TextureView,
)
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".