7 releases (breaking)

0.6.0 Sep 20, 2024
0.5.0 Dec 21, 2022
0.4.0 May 24, 2022
0.3.0 Dec 4, 2021
0.1.0 Dec 28, 2020

#549 in Graphics APIs


Used in truck-rendimpl

Apache-2.0

135KB
2K SLoC

truck-platform

Crates.io Docs.rs

Graphic utility library based on wgpu.

Sample Codes

wgsl-sandbox

A sample of creating a render object by implementing "Rendered" in a new structure.

One can use xyr WGSL shader in the following way:

  • Enter the shader path as an argument when executing the program.
  • Drag and drop the shader into the window.

The rule of shaders:

  • One can draw a image by implementing the function:
vec4<f32> main_image(coord: vec2<f32>, env: Environment);
  • The parameter coord is the fragment coordinate. The origin is the lower left.
  • The parameter env has the environment information. The declaration of struct is the following:
struct Environment {
    resolution: vec2<f32>;  // the resolution of the image
    mouse: vec4<f32>;       // the mouse information behaving the same as `iMouse` in Shadertoy.
    time: f32;              // the number of seconds since the application started.
};

Also, see the sample newton-cuberoot.wgsl, default shader, in examples.

Dependencies

~6–44MB
~702K SLoC