Crates.io | li-wgpu |
lib.rs | li-wgpu |
version | 0.18.0 |
source | src |
created_at | 2024-08-29 12:30:25.492206 |
updated_at | 2024-08-29 12:30:25.492206 |
description | Rusty WebGPU API wrapper |
homepage | https://wgpu.rs/ |
repository | https://github.com/gfx-rs/wgpu |
max_upload_size | |
id | 1356060 |
size | 624,030 |
wgpu-rs is an idiomatic Rust wrapper over wgpu-core. It's designed to be suitable for general purpose graphics and computation needs of Rust community.
wgpu-rs can target both the natively supported backends and Wasm directly.
See our gallery and the wiki page for the list of libraries and applications using wgpu-rs
.
All examples are located under the examples directory.
These examples use the default syntax for running examples, as found in the Cargo documentation. For example, to run the cube
example:
cargo run --bin cube
The hello*
examples show bare-bones setup without any helper code. For hello-compute
, pass 4 numbers separated by spaces as arguments:
cargo run --bin hello-compute 1 2 3 4
The following environment variables can be used to configure how the framework examples run:
WGPU_BACKEND
Options: vulkan
, metal
, dx11
, dx12
, gl
, webgpu
If unset a default backend is chosen based on what is supported by your system.
WGPU_POWER_PREF
Options: low
, high
, none
If unset power usage is not considered when choosing an adapter.
WGPU_ADAPTER_NAME
Select a specific adapter by specifying a substring of the adapter name.
wasm32-unknown-unknown
)See wiki article.
WGSL is the main shading language of WebGPU.
Users can run the naga binary in the following way to convert their SPIR-V shaders to WGSL:
cargo run -- <input.spv> <output.wgsl>
In addition, SPIR-V can be used by enabling the spirv
feature and GLSL can be enabled by enabling the glsl
feature at the cost of slightly increased build times.