Tristam MacDonald 524ff72fd3 Typed mapping of buffers
Add a sprinkling of generics to remove the need for unsafe
code to typecast slices resulting from mapping buffers.
2019-02-28 06:56:47 -08:00
2019-02-28 06:56:47 -08:00
2019-02-28 06:56:47 -08:00
2019-02-27 21:15:47 -08:00
2019-02-26 10:10:07 -05:00
2019-02-28 06:56:47 -08:00
2018-09-23 13:25:05 -06:00
2018-09-14 11:39:24 -04:00
2019-02-26 10:12:11 -05:00
2019-02-26 10:10:07 -05:00
2018-09-13 15:18:51 -04:00
2019-02-26 11:21:31 -05:00
2019-02-12 22:01:49 +11:00
2019-02-26 10:12:11 -05:00

WebGPU

Build Status Crates.io Gitter

This is an experimental WebGPU implementation as a native static library. It's written in Rust and is based on gfx-hal and satellite libraries. The corresponding WebIDL specification can be found at gpuweb project.

The implementation consists of the following parts:

  • wgpu-native - the native implementation of WebGPU as a C API library
  • wgpu-bindings - automatic generator of actual C headers
  • wgpu-remote - remoting layer to work with WebGPU across the process boundary
  • wgpu-rs - idiomatic Rust wrapper of the native library

Example

To run an example, simply cd to the examples or gfx-examples directory, then use cargo run with --features {backend} to specify the backend (where {backend} is either vulkan, dx12, dx11 or metal). For example:

# Clone the wgpu repository
git clone https://github.com/gfx-rs/wgpu
# Change directory to `examples`
cd wgpu/examples
# Vulkan (Linux/Windows)
cargo run --bin hello_triangle --features vulkan
# Metal (macOS/iOS)
cargo run --bin hello_triangle --features metal
# DirectX12 (Windows)
cargo run --bin hello_triangle --features dx12

cd ../gfx-examples
# Vulkan (Linux/Windows)
cargo run --bin cube --features vulkan
# Metal (macOS/iOS)
cargo run --bin cube --features metal
# DirectX12 (Windows)
cargo run --bin cube --features dx12

These examples assume that necessary dependencies for the graphics backend are already installed. For more information about installation and usage, refer to the Getting Started guide.

Description
No description provided
Readme 137 MiB
Languages
Rust 79.9%
WGSL 16.2%
HLSL 2%
GLSL 1.7%
JavaScript 0.2%