Crate rafx[−][src]
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 abstractionrafx_framework: Mid-level framework that eases resource management, lifetime handling, and draw call dispatchingrafx_assets: Asset layer that integrates with thedistillasset pipeline- NOTE: The published version in crates.io does not include rafx-assets as
distillis not published yet
- NOTE: The published version in crates.io does not include rafx-assets as
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
Rafx API is an unsafe graphics API abstraction layer designed specifically for games and tools
for games. The goal is to achieve near-native performance with reduced complexity. It may be
used directly, or indirectly through other crates in rafx (such as [rafx-resources] and
[rafx-assets]).
Provides integration with the distill asset
pipeline
Lowest level crate of rafx. Includes some basic memory management and other utilities
A mid-level framework for rendering that provides tools for resource lifetime management, descriptor set management, materials, renderpass management, and draw call dispatching
Part of rafx-framework. Handles extracting, preparing, and writing draw calls
Part of rafx-framework.
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