Files
learn-wgpu/docs/README.md

48 lines
1.9 KiB
Markdown

# learn-wgpu
An educational book teaching Rust graphics programming with wgpu 29 + winit 0.30.
Built for backend/systems Rust developers who know Rust thoroughly but have zero
graphics programming experience. Every sentence teaches GPU concepts — not Rust syntax.
## Required Reading Order
1. [The Graphics Pipeline](concepts/graphics-pipeline.md) — GPU vs CPU, the 5-stage pipeline
2. [Coordinate Systems](concepts/coordinate-systems.md) — NDC, homogeneous coordinates, viewport
3. [Shader Basics](concepts/shader-basics.md) — WGSL, vertex/fragment shaders, interpolation
4. [Build a Rainbow Triangle](01-rainbow-triangle.md) — The complete step-by-step guide
5. [Troubleshooting](TROUBLESHOOTING.md) — Common errors and fixes (reference as needed)
6. [Glossary](concepts/GLOSSARY.md) — Every term defined (reference as needed)
> **Reading order matters:** Coordinate systems must be understood before shader basics,
> because the shader walkthrough references NDC coordinates.
## Guides
- **01 — Rainbow Triangle** — The minimal complete program: one triangle, smooth color interpolation
- More guides coming soon (textures, lighting, compute)
## Running the Project
From the project root:
```bash
cargo run
```
This works on all supported platforms. If you encounter build errors, see the
**Prerequisites** section above for platform-specific build tool requirements.
## Prerequisites
- Rust stable (edition 2024)
- A system with a GPU supporting WebGPU-compatible APIs:
- **Windows:** Windows 10 or later with a DirectX 12-capable GPU
- **macOS:** macOS 10.13+ with a Metal-capable GPU
- **Linux:** Vulkan-capable GPU and drivers
> **Build tools:** Your platform may require additional build tools:
> - **Windows:** Visual Studio Build Tools (2019 or later)
> - **macOS:** Xcode Command Line Tools (`xcode-select --install`)
> - **Linux:** Vulkan ICD and development packages (e.g., `vulkan-validationlayers` on Ubuntu)