This is a native WebGPU implementation in Rust, based on wgpu-core.
The bindings are based on the WebGPU-native header found at ffi/webgpu-headers/webgpu.h
and wgpu-native specific items in ffi/wgpu.h
- gfx-rs/wgpu-rs - idiomatic Rust wrapper with a few more examples to get a feel of the API
- pygfx/wgpu-py - Python wrapper
- trivaxy/wgpu.NET - Raw .NET bindings with optional wrappers
- dotnet/Silk.NET - Raw .NET bindings
- Alimer.Bindings.WebGPU - Cross platform .NET bindings for WebGPU
- wgpu.cr - Crystal wrapper
- bindc-wgpu - D wrapper (package)
- porky11/wgpu - experimental Scopes wrapper
- cshenton/WebGPU.jl - experimental Julia wrapper
- dvijaha/WGPUNative.jl - stable Julia wrapper
- kgpu/wgpuj - Java/Kotlin wrapper
- wgpu4k/wgpu4k - WIP Kotlin Multi Platform wrapper
- rajveermalviya/go-webgpu - Go wrapper
- WebGPU-C++ - Auto-generated C++ wrapper (developed for the Learn WebGPU native course)
- jai_wgpu_native - Raw Jai bindings
- WebGPU::Direct - Perl wrapper (package)
Automated 32 and 64-bit builds for MacOS, Windows and Linux are available as Github releases. Details can be found in the Binary Releases page in the wiki.
This repository contains C-language examples that link to the native library targets and perform basic rendering and computation. Please refer to our Getting Started page at the wiki for more information.
There's also a (small) contributor guide.