Bevy Rust-GPU joins the fray! 🦀 Write shaders in rust-gpu, and hot-rebuild them from a bevy app at edit-time.

This page summarizes the projects mentioned and recommended in the original post on /r/bevy

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • bevy

    A refreshingly simple data-driven game engine built in Rust

  • 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.

  • bevy-rust-gpu

    Bevy plugin for hot-building and hot-reloading rust-gpu shaders.

  • 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.

  • 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.

    InfluxDB logo
  • crates.io

    The Rust package registry

  • 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

    Utility application for building rust-gpu shader crates.

  • rust-gpu-builder - A shader compilation daemon

  • permutate-macro

    cfg-like Rust macro for statically generating code permutations.

  • permutate-macro - A procedural macro for permutating shader variants at compile time

  • rust-gpu-bridge

    Bridge crate for writing code that can compile under both rust-gpu and regular rust.

  • rust-gpu-bridge - A utility crate for bridging shader rust with regular rust

  • bevy-pbr-rust

    rust-gpu port of bevy-pbr

  • 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.

  • 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.

    WorkOS logo
  • example-workspace

    Example workspace showcasing hot-reloading and hot-building.

  • 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.

  • Graphite

    2D raster & vector editor that melds traditional layers & tools with a modern node-based, non-destructive, procedural workflow.

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts