mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-02-27 06:14:19 +00:00
33 lines
2.4 KiB
Markdown
33 lines
2.4 KiB
Markdown
This is an active GitHub mirror of the WebGPU native implementation in Rust, which now lives in [Mozilla-central](https://hg.mozilla.org/mozilla-central). Issues and pull requests are accepted, but we merge them in m-c manually and then sync to GitHub instead of landing directly here.
|
|
|
|
---
|
|
# WebGPU
|
|
[](https://travis-ci.org/gfx-rs/wgpu)
|
|
[](https://crates.io/crates/wgpu-native)
|
|
[](https://gitter.im/gfx-rs/webgpu)
|
|
|
|
This is an experimental [WebGPU](https://www.w3.org/community/gpu/) implementation as a native static library. It's written in Rust and is based on [gfx-hal](https://github.com/gfx-rs/gfx) and [Rendy](https://github.com/amethyst/rendy) libraries. The corresponding WebIDL specification can be found at [gpuweb project](https://github.com/gpuweb/gpuweb/blob/master/spec/index.bs).
|
|
|
|
The implementation consists of the following parts:
|
|
1. `wgpu-native` - the native implementation of WebGPU as a C API library
|
|
2. `wgpu-remote` - remoting layer to work with WebGPU across the process boundary
|
|
3. `ffi` - the C headers generated by [cbindgen](https://github.com/eqrion/cbindgen) for both of the libraries
|
|
|
|
## Supported Platforms
|
|
|
|
API | Windows | Linux | macOS & iOS |
|
|
----- | ------------------ | ------------------ | ------------------ |
|
|
DX11 | :heavy_check_mark: | | |
|
|
DX12 | :heavy_check_mark: | | |
|
|
Vulkan | :heavy_check_mark: | :heavy_check_mark: | |
|
|
Metal | | | :heavy_check_mark: |
|
|
OpenGL | | | |
|
|
|
|
## 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/wiki/Getting-Started#getting-started) page at the wiki for more information.
|
|
|
|
Bindings:
|
|
- https://github.com/gfx-rs/wgpu-rs - idiomatic Rust wrapper with [a few more examples](https://github.com/gfx-rs/wgpu-rs/tree/master/examples) to get a feel of the API
|
|
- https://nest.pijul.com/porky11/wgpu - experimental [Scopes](http://scopes.rocks) wrapper
|