Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
rust-gpu-bridge
Bridge crate for writing code that can compile under both rust-gpu and regular rust.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Graphite
2D raster & vector editor that melds traditional layers & tools with a modern node-based, non-destructive, procedural workflow.
As of bevy 0.9.1, using SPIR-V in a Material is nonviable due to conservative shader preprocessor behaviour, and will throw an error that prevents it from rendering. This is trivial to patch, but cannot be worked around in user code, so for now consumers of bevy-rust-gpu need to use a custom fork of the engine and wait on a potential merge.
Looking at https://github.com/Bevy-Rust-GPU/bevy-rust-gpu/issues/13 maybe this is wgpu being much stricter at validating these things than Vulkan seems to require, that makes sense. We should definitely be applying NonWritable to &T if it helps in that case.
None of this is published on crates.io yet, since it can't be used with bevy's current stable release, and doesn't have the blessing of the related upstream parties re. naming adjacency.
rust-gpu-builder - A shader compilation daemon
permutate-macro - A procedural macro for permutating shader variants at compile time
rust-gpu-bridge - A utility crate for bridging shader rust with regular rust
In addition, the example-workspace repo contains the rust workspaces that were used to capture the footage above. These are also documented; the bevy workspace contains cargo-runnable examples for both a simple shader material that can be edited from the shader workspace, and a bevy-pbr-rust StandardMaterial comparison with its WGSL counterpart.
In addition, the example-workspace repo contains the rust workspaces that were used to capture the footage above. These are also documented; the bevy workspace contains cargo-runnable examples for both a simple shader material that can be edited from the shader workspace, and a bevy-pbr-rust StandardMaterial comparison with its WGSL counterpart.
It gets even cooler: compute shaders in Rust. We're building that into our general-purpose node graph pipeline engine, Graphene, for the Graphite project. Most of the time (when no_std is sufficient), you write a node as a Rust function and it just works on CPU or GPU thanks to the magic of rust-gpu and WGPU.