wgpu/examples
2023-10-02 14:42:06 +02:00
..
boids Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
bunnymark Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
capture Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
common Revert "Ignore the exception values generated by the winit resize event" (#4195) 2023-10-02 14:42:06 +02:00
conservative-raster Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
cube Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
hello Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
hello-compute Skip test_multithreaded_compute on MoltenVK. (#4096) 2023-09-04 03:54:39 +00:00
hello-triangle Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
hello-windows Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
mipmap Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
msaa-line Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
shadow Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
skybox Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
stencil-triangles Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
texture-arrays Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
timestamp-queries Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
water Make StoreOp an enum instead of a bool (#4147) 2023-09-18 14:58:41 -04:00
README.md Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00

Structure

For the simplest examples without using any helping code (see framework.rs here), check out:

  • hello for printing adapter information
  • hello-triangle for graphics and presentation
  • hello-compute for pure computing

Notably, capture example shows rendering without a surface/window. It reads back the contents and saves them to a file.

All the examples use WGSL shaders unless specified otherwise.

All framework-based examples render to the window and are reftested against the screenshot in the directory.

Feature matrix

Feature boids bunnymark cube mipmap msaa-line shadow skybox texture-arrays water conservative-raster stencil-triangles
vertex attributes
instancing
lines and points
dynamic buffer offsets
implicit layout
sampled color textures
storage textures
comparison samplers
subresource views
cubemaps
multisampling
off-screen rendering
stencil testing
depth testing
depth biasing
read-only depth
blending
render bundles
compute passes
error scopes
optional extensions
- SPIR-V shaders
- binding array
- push constants
- depth clamping
- compressed textures
- polygon mode
- queries
- conservative rasterization
integrations
- staging belt
- typed arena
- obj loading

Hacking

You can record an API trace any of the framework-based examples by starting them as:

mkdir -p trace && WGPU_TRACE=trace cargo run --features trace --bin <example-name>