From 8150f99abad7eaf941a83fc9bb5153f3528caf5b Mon Sep 17 00:00:00 2001 From: nanoqsh Date: Tue, 27 Feb 2024 17:55:40 +0600 Subject: [PATCH] Readme with examples --- Cargo.toml | 1 + README.md | 139 ++++++++++++++++++++++++++++++++++-- dunge/src/mesh.rs | 2 +- examples/window/Cargo.toml | 13 ++++ examples/window/s.png | Bin 0 -> 119818 bytes examples/window/src/main.rs | 104 +++++++++++++++++++++++++++ 6 files changed, 253 insertions(+), 6 deletions(-) create mode 100644 examples/window/Cargo.toml create mode 100644 examples/window/s.png create mode 100644 examples/window/src/main.rs diff --git a/Cargo.toml b/Cargo.toml index f1e5672..7802184 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,7 @@ members = [ "examples/ssaa", "examples/triangle", "examples/wasm", + "examples/window", "helpers", "xtask", ] diff --git a/README.md b/README.md index 8cd2416..4005831 100644 --- a/README.md +++ b/README.md @@ -12,23 +12,152 @@ ## Features * Simple and flexible API -* Customizable vertices and groups +* Customizable vertices, groups and instances * Shader code described as a single rust function * High degree of typesafety with minimal runtime checks -* Desktop, WASM and Android support +* Desktop, WASM and (later) Android support * Optional built-in window and event loop ## Application area Currently the library is for personal use only. Although, over time I plan to stabilize API so that someone could use it for their tasks. ## Getting Started -🚧 This section has not yet been written 🚧 +To start using the library add it to your project: +```sh +cargo add dunge -F winit +``` +Specify the `winit` feature if you need to create a windowed application. Although this is not necessary, for example, you can simply draw a scene directly to the image in RAM. + +So what if you want to draw something on the screen? Let's say you want to draw a simple colored triangle. Then start by creating a vertex type. To do this, derive the `Vertex` trait for your struct: +```rust +use dunge::prelude::*; + +// Create a vertex type +#[repr(C)] +#[derive(Vertex)] +struct Vert { + pos: [f32; 2], + col: [f32; 3], +} +``` + +To render something on GPU you need to program a shader. In dunge you can do this via a normal (almost) rust function: +```rust +// Create a shader program +let triangle = |vert: sl::InVertex| { + // Describe the vertex position: + // Take the vertex data as vec2 and expand it to vec4 + let place = sl::vec4_concat(vert.pos, sl::vec2(0., 1.)); + + // Then describe the vertex color: + // First you need to pass the color from + // vertex shader stage to fragment shader stage + let fragment_col = sl::fragment(vert.col); + + // Now create the final color by adding an alpha value + let color = sl::vec4_with(fragment_col, 1.); + + // As a result, return a program that describes how to + // compute the vertex position and the fragment color + sl::Out { place, color } +}; +``` + +As you can see from the snippet, the shader requires you to provide two things: the position of the vertex on the screen and the color of each fragment/pixel. The result is a `triangle` function, but if you ask for its type in the IDE you may notice that it is more complex than usual: +```rust +impl Fn(InVertex) -> Out>, Ret, Vec2>>, Vec4>, Ret>>, Vec3>, f32>, Vec4>> +``` + +That's because this function doesn't actually compute anything. It is needed only to describe the method for computing what we need on GPU. During shader instantiation, this function is used to compile an actual shader. However, this saves us from having to write the shader in wgsl and allows to typecheck at compile time. For example, dunge checks that a vertex type in a shader matches with a mesh used during rendering. It also checks types inside the shader itself. + +Now let's create the dunge context, window and other necessary things: +```rust +// Create the dunge context with a window +let window = dunge::window().await?; +let cx = window.context(); + +// You can use the context to manage dunge objects. +// Create a shader instance +let shader = cx.make_shader(triangle); +// And a layer for drawing a mesh on it +let layer = cx.make_layer(&shader, window.format()); +``` + +Also create a triangle mesh that we're going to draw: +```rust +// Create a mesh from vertices +let mesh = { + use dunge::mesh::MeshData; + + const VERTS: MeshData<'static, Vert> = MeshData::from_verts(&[ + Vert { pos: [-0.5, -0.5], col: [1., 0., 0.] }, + Vert { pos: [ 0.5, -0.5], col: [0., 1., 0.] }, + Vert { pos: [ 0. , 0.5], col: [0., 0., 1.] }, + ]); + + cx.make_mesh(&VERTS) +}; +``` + +Now to run the application we need two last things: handlers. One `Update` that is called every time before rendering and is used to control the render objects and manage the main [event loop](https://en.wikipedia.org/wiki/Event_loop): +```rust +// Describe the `Update` handler +let upd = |ctrl: &Control| { + for key in ctrl.pressed_keys() { + // Exit by pressing escape key + if key.code == KeyCode::Escape { + return Then::Close; + } + } + + // Otherwise continue running + Then::Run +}; +``` +We don't do anything special here, we just check is Esc pressed and end the main loop if necessary. Note that this handler is only needed to use a window with the `winit` feature. + +Second `Draw` is used directly to draw something in the final frame: +```rust +// Describe the `Draw` handler +let draw = |mut frame: Frame| { + use dunge::color::Rgba; + + // Create a black RGBA background + let bg = Rgba::from_bytes([0, 0, 0, !0]); + + frame + // Select a layer to draw on it + .layer(&layer, bg) + // The shader has no bindings, so call empty bind + .bind_empty() + // And finally draw the mesh + .draw(&mesh); +}; +``` + +Now you can run our application and see the window: +```rust +// Run the window with handlers +window.run(dunge::update(upd, draw))?; +``` + + + +You can see full code from this example [here](https://github.com/nanoqsh/dunge/tree/main/examples/window) and run it using: +```sh +cargo run -p window +``` ## Examples -For more examples using the window, see the [examples](https://github.com/nanoqsh/dunge/tree/main/examples) directory. -To build and run an example do: +For more examples using the window, see the [examples](https://github.com/nanoqsh/dunge/tree/main/examples) directory. To build and run an example do: ```sh cargo run -p ``` +To build and run a wasm example, make sure [`wasm-pack`](https://github.com/rustwasm/wasm-pack) is installed and then run: +```sh +cargo xtask +``` +It will start a local server and you can open http://localhost:3000 in your browser to see the application running. For the web, only [WebGPU](https://gpuweb.github.io/gpuweb/) backend is supported, so make sure your browser supports it. + Also see the [test](https://github.com/nanoqsh/dunge/tree/main/dunge/tests) directory for small examples of creation a single image. diff --git a/dunge/src/mesh.rs b/dunge/src/mesh.rs index a3fd220..0c4cb14 100644 --- a/dunge/src/mesh.rs +++ b/dunge/src/mesh.rs @@ -16,7 +16,7 @@ pub struct MeshData<'a, V> { impl<'a, V> MeshData<'a, V> { /// Creates a [mesh data](crate::mesh::MeshData) from given vertices. - pub fn from_verts(verts: &'a [V]) -> Self { + pub const fn from_verts(verts: &'a [V]) -> Self { Self { verts, indxs: None } } diff --git a/examples/window/Cargo.toml b/examples/window/Cargo.toml new file mode 100644 index 0000000..c902c7c --- /dev/null +++ b/examples/window/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "window" +version = "0.1.0" +edition = { workspace = true } +publish = false + +[dependencies] +dunge = { workspace = true, features = ["winit"] } +env_logger = { workspace = true } +helpers = { path = "../../helpers" } + +[lints] +workspace = true diff --git a/examples/window/s.png b/examples/window/s.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ba8441478d9808ca326bb0f3461bf0245a47b6 GIT binary patch literal 119818 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

aU1J&vteQ`oGdHrYeJ7y%W{)Gn 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

56){ery|{M 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

6`#%)u#+!6}MCKT*&V6^H|&@fN<32>nbN{F@ai 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 Cw^H{2 literal 0 HcmV?d00001 diff --git a/examples/window/src/main.rs b/examples/window/src/main.rs new file mode 100644 index 0000000..412d97e --- /dev/null +++ b/examples/window/src/main.rs @@ -0,0 +1,104 @@ +type Error = Box; + +fn main() { + env_logger::init(); + if let Err(err) = helpers::block_on(run()) { + eprintln!("error: {err}"); + } +} + +async fn run() -> Result<(), Error> { + use dunge::prelude::*; + + // Create a vertex type + #[repr(C)] + #[derive(Vertex)] + struct Vert { + pos: [f32; 2], + col: [f32; 3], + } + + // Create a shader program + let triangle = |vert: sl::InVertex| { + // Describe the vertex position: + // Take the vertex data as vec2 and expand it to vec4 + let place = sl::vec4_concat(vert.pos, sl::vec2(0., 1.)); + + // Then describe the vertex color: + // First you need to pass the color from + // vertex shader stage to fragment shader stage + let fragment_col = sl::fragment(vert.col); + + // Now create the final color by adding an alpha value + let color = sl::vec4_with(fragment_col, 1.); + + // As a result, return a program that describes how to + // compute the vertex position and the fragment color + sl::Out { place, color } + }; + + // Create the dunge context with a window + let window = dunge::window().await?; + let cx = window.context(); + + // You can use the context to manage dunge objects. + // Create a shader instance + let shader = cx.make_shader(triangle); + // And a layer for drawing a mesh on it + let layer = cx.make_layer(&shader, window.format()); + + // Create a mesh from vertices + let mesh = { + use dunge::mesh::MeshData; + + const VERTS: MeshData<'static, Vert> = MeshData::from_verts(&[ + Vert { + pos: [-0.5, -0.5], + col: [1., 0., 0.], + }, + Vert { + pos: [0.5, -0.5], + col: [0., 1., 0.], + }, + Vert { + pos: [0., 0.5], + col: [0., 0., 1.], + }, + ]); + + cx.make_mesh(&VERTS) + }; + + // Describe the `Update` handler + let upd = |ctrl: &Control| { + for key in ctrl.pressed_keys() { + // Exit by pressing escape key + if key.code == KeyCode::Escape { + return Then::Close; + } + } + + // Otherwise continue running + Then::Run + }; + + // Describe the `Draw` handler + let draw = |mut frame: Frame| { + use dunge::color::Rgba; + + // Create a black RGBA background + let bg = Rgba::from_bytes([0, 0, 0, !0]); + + frame + // Select a layer to draw on it + .layer(&layer, bg) + // The shader has no bindings, so call empty bind + .bind_empty() + // And finally draw the mesh + .draw(&mesh); + }; + + // Run the window with handlers + window.run(dunge::update(upd, draw))?; + Ok(()) +}