https://github.com/gfx-rs/wgpu-native
Native WebGPU implementation based on wgpu-core
https://github.com/gfx-rs/wgpu-native
Last synced: 3 months ago
JSON representation
Native WebGPU implementation based on wgpu-core
- Host: GitHub
- URL: https://github.com/gfx-rs/wgpu-native
- Owner: gfx-rs
- License: apache-2.0
- Created: 2020-04-17T01:56:59.000Z (about 5 years ago)
- Default Branch: trunk
- Last Pushed: 2025-03-20T09:56:32.000Z (4 months ago)
- Last Synced: 2025-04-14T01:49:20.589Z (3 months ago)
- Language: Rust
- Size: 2.35 MB
- Stars: 977
- Watchers: 20
- Forks: 116
- Open Issues: 52
-
Metadata Files:
- Readme: README.md
- License: LICENSE.APACHE
Awesome Lists containing this project
README
# wgpu-native
[](https://matrix.to/#/#wgpu:matrix.org)
[](https://github.com/gfx-rs/wgpu-native/actions)This is a native WebGPU implementation in Rust, based on [wgpu-core](https://github.com/gfx-rs/wgpu).
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`# Bindings
- [gfx-rs/wgpu-rs](https://github.com/gfx-rs/wgpu/tree/master/wgpu) - idiomatic Rust wrapper with [a few more examples](https://github.com/gfx-rs/wgpu/tree/master/wgpu/examples) to get a feel of the API
- [pygfx/wgpu-py](https://github.com/pygfx/wgpu-py) - Python wrapper
- [trivaxy/wgpu.NET](https://github.com/trivaxy/WGPU.NET) - Raw .NET bindings with optional wrappers
- [dotnet/Silk.NET](https://github.com/dotnet/Silk.NET) - Raw .NET bindings
- [Alimer.Bindings.WebGPU](https://github.com/amerkoleci/Alimer.Bindings.WebGPU) - Cross platform .NET bindings for WebGPU
- [wgpu.cr](https://github.com/chances/wgpu-crystal) - Crystal wrapper
- [bindc-wgpu](https://github.com/gecko0307/bindbc-wgpu) - D wrapper ([package](https://code.dlang.org/packages/bindbc-wgpu))
- [porky11/wgpu](https://gitlab.com/scopes-libraries/wgpu) - experimental [Scopes](http://scopes.rocks) wrapper
- [cshenton/WebGPU.jl](https://github.com/cshenton/WebGPU.jl) - experimental Julia wrapper
- [dvijaha/WGPUNative.jl](https://github.com/dvijaha/WGPUNative.jl) - stable Julia wrapper
- [kgpu/wgpuj](https://github.com/kgpu/kgpu/tree/master/wgpuj) - Java/Kotlin wrapper
- [wgpu4k/wgpu4k](https://github.com/wgpu4k/wgpu4k) / [wgpu4k/wgpu4k-native](https://github.com/wgpu4k/wgpu4k-native) - Kotlin/Multiplatform wrappers
- [karmakrafts/Multiplatform wgpu](https://git.karmakrafts.dev/kk/multiplatform-wgpu) - Kotlin/Native wrapper
- [rajveermalviya/go-webgpu](https://github.com/rajveermalviya/go-webgpu) - Go wrapper
- [WebGPU-C++](https://github.com/eliemichel/WebGPU-Cpp) - Auto-generated C++ wrapper (developed for the [Learn WebGPU native](https://eliemichel.github.io/LearnWebGPU) course)
- [jai_wgpu_native](https://github.com/SogoCZE/jai_wgpu_native) - Raw Jai bindings
- [WebGPU::Direct](https://github.com/atrodo/WebGPU-Direct) - Perl wrapper ([package](https://metacpan.org/pod/WebGPU::Direct))
- [bronter/wgpu_native_zig](https://github.com/bronter/wgpu_native_zig) - Zig wrapper## Pre-built binaries
Automated 32 and 64-bit builds for MacOS, Windows and Linux are available as Github [releases](https://github.com/gfx-rs/wgpu-native/releases). Details can be found in the [Binary Releases](https://github.com/gfx-rs/wgpu-native/wiki/Binary-Releases) page in the wiki.
## Usage
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](https://github.com/gfx-rs/wgpu-native/wiki/Getting-Started) page at the wiki for more information.
There's also a (small) [contributor guide](https://github.com/gfx-rs/wgpu-native/wiki/Contributing).