wgpu/examples
Fredrik Fornwall 1c43272d2a
Remove backend_bits from initialize_adapter_from_env (#3904)
Remove backend_bits from initialize_adapter_from_env, backends can
be specified using the backends field in InstanceDescriptor instead.
2023-07-05 18:21:39 +02:00
..
boids Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
bunnymark Move Examples and Tests to Their Own Crates (#3841) 2023-06-10 18:35:46 +00:00
capture Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
common Remove backend_bits from initialize_adapter_from_env (#3904) 2023-07-05 18:21:39 +02:00
conservative-raster Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
cube Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
hello Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
hello-compute Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
hello-triangle Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
hello-windows Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
mipmap Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
msaa-line Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
shadow Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
skybox Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
stencil-triangles Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00:00
texture-arrays Move Examples and Tests to Their Own Crates (#3841) 2023-06-10 18:35:46 +00:00
water Formatting and example command fixes (#3872) 2023-06-15 20:05:26 +00: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>