wgpu is a safe and portable graphics library for Rust based on the WebGPU API. It is suitable for general purpose graphics and compute on the GPU.
Applications using wgpu run natively on Vulkan, Metal, DirectX 12, and OpenGL ES; and browsers via WebAssembly on WebGPU and WebGL2.
Ported wgpu? Make a PR, and reach out to us on #wgpu-users!
| Language | ||
|---|---|---|
| C | wgpu-native | Official native WebGPU implementation. |
| C++ | WebGPU-C++ | An auto-generated C++ wrapper, developed for the Learn WebGPU course. |
| Crystal | wgpu-crystal | Bindings to wgpu-native for the Crystal programming language. |
| D | bindc-wgpu | WebGPU for D, based on the BindBC library loader. |
| Go | go-webpgu | Zero-CGO wrapper for Go. |
| Jai | jai_wgpu_native | Raw Jai bindings. |
| Julia | WebGPUNative.jl | Stable Julia wrapper. |
| WebGPU.jl | An experimental Julia wrapper. | |
| JVM | jWebGPU | WebGPU Java bindings for wgpu-native and Dawn. |
| gdx-webgpu | Extensions to support jWebGPU on LibGDX. | |
| kgpu/wgpuj | Java and Kotlin/JVM wrapper. | |
| vulkan4j | Java 22+ wrapper (using FFM). | |
| Kotlin | wgpu4k-native | Work-in-progress Kotlin/Multiplatform bindings for wgpu. |
| wgpu4k | Work-in-progress Kotlin/Multiplatform bindings for WebGPU. | |
| multiplatform-wgpu | Multiplatform Kotlin/Native bindings for wgpu. | |
| .NET | Silk.NET | The (official .NET) high-speed WebGPU bindings library your mother warned you about. |
| Alimer.Bindings.WebGPU | Cross platform .NET bindings. | |
| WGPU.NET | ||
| Perl | WebGPU::Direct | Direct access to WebGPU native APIs from Perl. |
| Python | wgpu-py | WebGPU for python. |
| Scopes | scopes-libraries/wgpu | Scopes wrapper for wgpu. |
| Zig | wgpu_native_zig | Zig bindings for wgpu-native. |