Initial wgpu abstraction

This commit is contained in:
Werner
2021-11-09 21:07:16 -03:00
parent 15e8989bef
commit b23bc27f55
25 changed files with 775 additions and 209 deletions

View File

@ -1,13 +1,13 @@
use crate::Display;
use crate::Render::Renderer;
use anyhow::Result;
use std::time::Duration;
use winit::event::*;
/// Represents a application with reactive state.
pub trait State: Sized + 'static {
fn Init(display: &Display) -> Result<Self>;
fn Input(&mut self, display: &Display, event: &WindowEvent) -> bool;
fn Update(&mut self, display: &Display, delta: Duration);
fn Resize(&mut self, display: &Display);
fn Draw(&mut self, display: &mut Display) -> Result<(), wgpu::SurfaceError>;
fn Init(renderer: &Renderer) -> Result<Self>;
fn Input(&mut self, renderer: &Renderer, event: &WindowEvent) -> bool;
fn Update(&mut self, renderer: &Renderer, delta: Duration);
fn Resize(&mut self, renderer: &Renderer);
fn Draw(&mut self, renderer: &mut Renderer) -> Result<(), wgpu::SurfaceError>;
}