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