A great beginner project for getting into wgpu, the Rust version of WebGPU. Up-to-date wgpu tutorials were hard to find, so this one walks through building an STL renderer with a camera and lighting from scratch — explaining why each step is done, not just how.
Highlights
Writing the WGSL first — uniforms, the MVP matrix and lighting — so the CPU side can be shaped to match
Creating CPU-side representations of GPU data and uploading it into buffers
An AppState struct holding buffers, render pipelines and camera state across frames
Wiring the app lifecycle through winit's ApplicationHandler