This is an idiomatic Rust wrapper over wgpu-core. It's designed to be suitable for general purpose graphics and computation needs of Rust community. It currently only works for the native platform, in the future aims to support WASM/Emscripten platforms as well.
All examples are located under the examples directory. We are using the default syntax for running examples, as found in the Cargo documentation.
cargo run --example cube
hello-*
examples show barebones setup without any helper code.
For "hello-compute", pass 4 numbers separated by spaces as arguments:
cargo run --example hello-compute 1 2 3 4
More examples can be found under the examples directory.
Shout out to the following projects that work best with wgpu-rs:
- wgpu_glyph - for your text-y rendering needs
- coffee - a whole 2D engine
- iced - a cross-platform GUI library
- rgx - a 2D graphics library
- imgui-wgpu - Dear ImGui interfacing
- pixels - the easiest way to create a hardware-accelerated pixel frame buffer
- kas - tooKit Abstraction System
- lyon - a path tessellation library
If you need to test local fixes to gfx-rs or other dependencies, the simplest way is to add a Cargo patch. For example, when working on DX12 backend on Windows, you can check out the "hal-0.2" branch of gfx-rs repo and add this to the end of "Cargo.toml":
[patch.crates-io]
gfx-backend-dx12 = { path = "../gfx/src/backend/dx12" }
gfx-hal = { path = "../gfx/src/hal" }
If a version needs to be changed, you need to to do cargo update -p gfx-backend-dx12
.