Skip to content

Latest commit

Β 

History

92 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome WebGPU Awesome

Lovely curated list of WebGPU resources, libraries and tools.

WebGPU is a W3C API for modern 3D graphics and GPU computing on desktop and mobile devices. Unlike WebGL, WebGPU is not a port of an existing native API. It borrows concepts from Metal, Vulkan and Direct3D12.

Contents

Websites

Official websites

WebGPU Specifications

WGSL (WebGPU Shading Language) Specifications

API documentations

Misc

Browser support

Availability depends on the browser version, operating system, GPU, and driver.

Chromium

  • Chrome - Enabled on supported Windows, macOS, ChromeOS, Android, and Linux configurations; consult the implementation status for hardware and operating system requirements.
  • Edge - Chromium-based browser with WebGPU support on supported devices and operating systems.

Firefox

  • Firefox - Enabled on Windows and Apple Silicon Macs; other platforms have different rollout schedules.
  • Firefox Nightly - Preview implementation for testing upcoming support, including Linux and other Mac configurations.

Safari

Articles

Tutorials

Books

Libraries

  • luma.gl - Graphics and compute toolkit with WebGPU and WebGL backends.
  • webgpu-utils - Helpers for buffer layouts, textures, mipmaps, and bind groups.
  • Emdawnwebgpu - Dawn-maintained WebGPU bindings for Emscripten applications.
  • wgpu-native - Native C interface to the Rust wgpu implementation.
  • Vello - Experimental Rust 2D vector renderer using wgpu and GPU compute.
  • Babylon.js - Open game and rendering engine.
  • Three.js - 3D library with WebGPURenderer and Three.js Shading Language (TSL) for shader authoring.
  • PlayCanvas - Web-based game engine with WebGPU support.
  • PixiJS - 2D rendering engine with a WebGPU renderer.
  • Dawn - Google implementation that powers WebGPU in Chromium, can be used as a standalone package.
  • wgpu - Cross-platform Rust graphics API based on WebGPU, used by Firefox and native applications.
  • webgpu-headers - C/C++ headers.
  • sokol - Simple STB-style cross-platform libraries for C and C++.
  • RedGPU - JavaScript WebGPU library, by @redcamel.
  • WebGPU .NET - Browser-focused .NET bindings for the Emscripten WebGPU API.
  • Deno - JavaScript and TypeScript runtime with WebGPU support through the --unstable-webgpu flag.
  • RedCube - glTF viewer based on a WebGPU backend.
  • hwoa-rang-gpu - Micro WebGPU rendering & compute library.
  • wgsl_reflect - A WebGPU Shading Language parser and reflection library for JavaScript.
  • WebGPU-C++ - A single-file zero-overhead C++ idiomatic wrapper, by @eliemichel.
  • Use.GPU - Reactive/declarative WebGPU runtime.
  • GEngine - A basic rendering engine based on WebGPU, by junwei.gu.
  • Thimbleberry - Reusable WebGPU shaders and support functions.
  • WebRTX - Experimental ray-tracing layer implemented with WebGPU compute shaders.
  • React Native WebGPU - React Native implementation of WebGPU using Dawn.
  • TypeGPU - Type-safe toolkit for GPU resources and shaders authored in TypeScript.
  • WESL - Community WGSL extensions for import, @if, and more.
  • WebGpGpu.ts - A WebGPU framework to access compute shaders, browser or server-side, without the steep learning curve.
  • spark.js - A real-time GPU texture compression library for WebGPU.
  • zephyr3d - A TypeScript-based 3D rendering engine with WebGPU/WebGL support.
  • ChartGPU - Interactive charting library using WebGPU for rendering.
  • vgpu - TypeScript WebGPU library with typed WGSL imports and a shared API for browsers, Node.js, and tests.
  • RunMat - GPU-accelerated numerical computing runtime for MATLAB-syntax programs, with browser execution through WebAssembly and WebGPU.
  • Vienna WebGPU Engine - Educational C++ game engine built on WebGPU, with rendering tutorials and native and browser backends.
  • Points - Generative art library built with WebGPU.
  • fisheye.js - WebGPU compute library for fisheye image and video correction using WebCodecs.

AI libraries

  • WebLLM - Browser language-model inference engine accelerated with WebGPU.
  • ONNX Runtime Web - Browser inference runtime with a WebGPU execution provider for ONNX models.
  • Transformers.js - JavaScript machine-learning library with WebGPU acceleration through ONNX Runtime.

Debuggers and Profilers

  • WebGPU Dev Extension - Browser extension for validation diagnostics, memory tracking, and redundant-state detection.
  • WebGPUReconstruct - Capture browser commands and replay them through native implementations for graphics debugging and profiling.
  • webgpu-inspector - Inspection debugger for WebGPU.
  • wgpu-profiler - GPU timing and profiling utilities for Rust applications using wgpu.

Gists

Demos

Demo compatibility depends on browser support and the features required by each application.

Videos

Community

Bug reporting

Historical resources

These resources document earlier implementations, obsolete API versions, or experimental forks. Code and setup instructions may require substantial changes for current WebGPU.


To the extent possible under law, Mik Bry has waived all copyright and related or neighboring rights to this work.

Contributions welcome! Read the contribution guidelines first.

About

😎 Curated list of awesome things around WebGPU ecosystem.

Topics

Resources

Code of conduct

Contributing

Stars

2.0k stars

Watchers

50 watching

Forks

Releases

Packages

Used by

Contributors