Crate rafx

source ·
Expand description

NOTE: docs.rs may not generate complete documentation for rafx because it does not enable all of the features in cargo when building the docs. To generate complete documentation locally, run cargo doc --no-deps --open in the root of the crate.

Rafx is a multi-backend renderer that prioritizes performance, flexibility, and productivity. It optionally integrates with the distill asset pipeline to provide workflows and tools suitable for real-world projects with multidisciplinary teams.

Note: Additional documentation describing aspects of rafx’s design, usage, and architecture can be found on GitHub.

This crate contains several layers:

  • rafx_api: Low-level graphics API abstraction
  • rafx_framework: Mid-level framework that eases resource management, lifetime handling, and draw call dispatching
  • rafx_assets: Asset layer that integrates with the distill asset pipeline
    • NOTE: The published version in crates.io does not include rafx-assets as distill is not published yet

Rafx also provides tools for building shaders and packing assets.

Rafx supports most mainstream platforms via vulkan and metal backends. OpenGL ES 2.0/3.0 backends are work-in-progress and they support less features due to API limitations ( see backends ). Proprietary platforms can be supported by adding an additional backend.

Modules§

Macros§

  • Use to declare a new render feature that can be registered. Registration allows easy global access to the render feature index from anywhere in the binary
  • Use to declare a new render feature flag that can be registered. Registration allows easy global access to the render feature flag index from anywhere in the binary

Type Aliases§