#graphics #wgpu #playground #events #spawner #event-loop #devices

wgpu-playground

Playground for wgpu-rs

3 releases

0.1.2 Nov 23, 2021
0.1.1 Nov 22, 2021
0.1.0 Nov 21, 2021

#746 in Graphics APIs

MIT/Apache

30KB
424 lines

Usage:

use wgpu_playground::winit::{
    event::WindowEvent, event_loop::ControlFlow, event_loop::EventLoop, window::Window,
};
use wgpu_playground::{wgpu, Spawner};

fn main() {
    let event_loop = EventLoop::new();
    let window = Window::new(&event_loop).unwrap();
    wgpu_playground::run::<App>(window, event_loop)
}

struct App {}

impl wgpu_playground::Playground for App {
    fn init(
        config: &wgpu::SurfaceConfiguration,
        adapter: &wgpu::Adapter,
        device: &wgpu::Device,
        queue: &wgpu::Queue,
    ) -> Self {
        Self {}
    }

    fn resize(
        &mut self,
        config: &wgpu::SurfaceConfiguration,
        device: &wgpu::Device,
        queue: &wgpu::Queue,
    ) {
        // ...
    }

    fn update(&mut self, event: WindowEvent, control_flow: &mut ControlFlow) {
        if let WindowEvent::CloseRequested = event {
            *control_flow = ControlFlow::Exit;
        }
        // ...
    }

    fn render(
        &mut self,
        view: &wgpu::TextureView,
        device: &wgpu::Device,
        queue: &wgpu::Queue,
        spawner: &Spawner,
    ) {
        // ...
    }
}

Dependencies

~4–19MB
~262K SLoC