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

#383 in Graphics APIs

Download history 3/week @ 2024-07-30 129/week @ 2024-09-17 42/week @ 2024-09-24 18/week @ 2024-10-01 4/week @ 2024-10-08

193 downloads per month
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

~7–43MB
~707K SLoC