Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Language Skip to content
Important This documentation is a work in progress! Feedback needed!
Learn WebGPU for C++ documentation
Light Logo Dark Logo
  • Introduction
  • Getting Started
    • Project setup 🟒
    • Hello WebGPU 🟒
    • Adapter and Device
      • The Adapter 🟒
      • The Device 🟒
    • The Command Queue 🟒
    • Opening a window 🟒
    • First Color 🟒
    • C++ wrapper 🟒
  • Basic 3D Rendering
    • Hello Triangle 🟒
    • Input Geometry
      • Playing with buffers 🟒
      • A first Vertex Attribute 🟒
      • Multiple Attributes 🟒
      • Index Buffer 🟒
      • Loading from file 🟒
    • Shader Uniforms
      • A first uniform 🟒
      • More uniforms 🟒
      • Dynamic uniforms 🟑
    • 3D Meshes
      • A simple example 🟑
      • Depth buffer 🟑
      • Transformation matrices 🟑
      • Projection matrices 🟑
      • Basic shading 🟑
      • Loading from file 🟑
    • Texturing
      • A first texture 🟑
      • Texture mapping 🟑
      • Sampler 🟑
      • Loading from file 🟑
    • Some interaction
      • Refactoring 🟑
      • Resizing the window 🟑
      • Camera control 🟑
      • Simple GUI 🟑
      • Lighting control 🟑🟒
    • Lighting and Material
      • Specularity 🟑
      • Normal mapping 🟑
      • Image-Based Lighting (🟠WIP)
      • Cube Maps (🟠WIP)
      • Physically-Based Materials (🟠WIP)
  • Basic Compute
    • Compute Pipeline 🟑
    • Image Processing
      • Mipmap Generation 🟑
      • Convolution Filters 🟑
      • Cubemap Conversion (🟠WIP)
      • Cubemap Prefiltering (🟠WIP)
    • Procedural Geometry
      • Deformation (🟠WIP)
    • Neural Networks (πŸ”΄TODO)
  • Advanced Techniques
    • Instanced Drawing (πŸ”΄TODO)
    • RAII 🟑
    • Screen capture (🟠WIP)
    • Headless context 🟑
    • High Dynamic Range Textures (🟠WIP)
    • Benchmarking
      • Time 🟑
      • Memory (πŸ”΄TODO)
      • Processing Units (πŸ”΄TODO)
      • Environmental Impact (πŸ”΄TODO)
    • Deferred Shading (πŸ”΄TODO)
    • Render Bundles (πŸ”΄TODO)
    • Multi-Sampling (πŸ”΄TODO)
    • Scene tree (πŸ”΄TODO)
    • Shadow maps (πŸ”΄TODO)
    • Tesselation (πŸ”΄TODO)
    • Raytracing (πŸ”΄TODO)
  • Appendices
    • Teaching native graphics in 2023 🟒
    • Feedback needed 🟒
    • Building for the Web 🟑
    • Using SDL for Window Management 🟑
    • Custom Extensions
      • The extension mechanism (🟠WIP)
      • With wgpu-native (🟠WIP)
      • With Dawn (🟠WIP)
    • Debugging (🟠WIP)
    • Memory Model (πŸ”΄TODO)
    • References (🟠WIP)
    • Temporary page
  • Learn WebGPU
    • Introduction
    • Getting Started
      • Project setup 🟒
      • Hello WebGPU 🟒
      • Adapter and Device
        • The Adapter 🟒
        • The Device 🟒
      • The Command Queue 🟒
      • Playing with buffers 🟒
      • Dealing with errors 🟒
      • Our first shader 🟠
    • Appendices
      • Futures and asynchronous operations πŸ”΄
Back to top
View this page
Edit this page
  • πŸ‡ΊπŸ‡Έ English

Getting StartedΒΆ

ContentsΒΆ

  • Project setup 🟒
  • Hello WebGPU 🟒
  • Adapter and Device
    • The Adapter 🟒
    • The Device 🟒
  • The Command Queue 🟒
  • Playing with buffers 🟒
  • Dealing with errors 🟒
  • Our first shader 🟠
Next
Project setup 🟒
Previous
Introduction
Copyright © 2022-2023, Γ‰lie Michel and contributors
Made with Sphinx and @pradyunsg's Furo
On this page
  • Getting Started
    • Contents