Crate riddle_renderer_wgpu[][src]

Riddle simple sprite-based renderer built on wgpu.

The renderer can be used by itself as the only renderer in your application, or it can be constructed on top of existing WGPU devices to provide simple 2D rendering.

Riddle Example

The recommended way to use this crate is through the main riddle crate. Riddle exposes this crate through riddle::renderer. The following example lets this crate take full ownership over creating the WGPU device.

use riddle::{common::Color, platform::*, renderer::*, *};

fn main() -> Result<(), RiddleError> {
    let rdl =  RiddleLib::new()?;
    let window = WindowBuilder::new().build(rdl.context())?;
    let renderer = Renderer::new_from_window(&window)?;

    rdl.run(move |rdl| {
        match rdl.event() {
            Event::Platform(PlatformEvent::WindowClose(_)) => rdl.quit(),
            Event::ProcessFrame => {
                let mut render_ctx = renderer.begin_render().unwrap();
                render_ctx.clear(Color::RED);
                render_ctx.present();
            },
            _ => ()
         }
    })
}

Direct Usage

To use this crate directly see wgpu_ext::WGPUDevice for how to use the renderer with custom WGPU devices.

Modules

wgpu_ext

Traits and structs required to use custom WGPU devices.

Structs

SpriteBuilder

Builder to construct new Sprites from riddle_image::Images.

SpriteRenderCommand

Builder for a Sprite render call

Enums

FilterMode

Interpolation mode between texels when rendering

RendererError

Traits

RenderContext

Types which accept render calls, tracks current world transform, and are consumed when the calls are presented.

Type Definitions

Renderer

A simple 2D sprite based renderer for a riddle Window.

RendererHandle

Strong handle to a Renderer.

RendererWeak

Weak handle to a Renderer.

Sprite

A sprite for the default Window renderer.

SpriteAtlasBuilder

Construct a set of Sprites from a set of riddle_image::Images which share a texture atlas.

SpriteRenderTarget

A target which can be both rendered to and referenced as a Sprite for rendering.