plume is a low-level rendering hardware interface (RHI) designed to provide the lowest common denominator between modern graphics APIs like Direct3D 12 and Vulkan, with Metal support arriving very soon. It is designed to be easy to integrate into existing projects, and it has a "bring your own compiler" mindset when it comes to shaders. The use of C++ is also limited to specific patterns such as usage of unique_ptr
to pass along the responsibility of handling the lifetime of objects to the user of the library.
The library was originally created to be used by RT64 and has been refactored for wider use for other projects that need it. While feature-rich and stable, it is not considered to be production-ready or to have stable API until a few crucial components such as barrier management and texture transitions are further refined. Nevertheless, feel free to use the project if it fits your use case.