mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-25 00:03:29 +00:00
.. | ||
boids | ||
bunnymark | ||
capture | ||
common | ||
conservative-raster | ||
cube | ||
hello | ||
hello-compute | ||
hello-triangle | ||
hello-windows | ||
mipmap | ||
msaa-line | ||
shadow | ||
skybox | ||
stencil-triangles | ||
texture-arrays | ||
water | ||
README.md |
Structure
For the simplest examples without using any helping code (see framework.rs
here), check out:
hello
for printing adapter informationhello-triangle
for graphics and presentationhello-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>