Edit: development of this library is suspended indefinitely, but a rust version is in the works. This is probably not robust enough to be used as-is, but the automatic synchronization algorithm could be salvaged for your own projects.
This repository contains the source code of graal, a modern C++17 C++20 wrapper over OpenGL Vulkan that makes it easy to optimize resource allocation in complex rendering pipelines.
This is a work in progress.
The API takes inspiration from SYCL 2020, with additional types and features for graphics. TODO
By declaring how a resource is accessed within a task, graal is able to discover optimization opportunities, such as aliasing the memory of two images if their contents are not alive at the same time. TODO
TODO
Graphics Resource Aliasing Abstraction Layer, but don't look too much into it.
See CMakeLists.txt. Preferably install dependencies using vcpkg.
- This software uses a modified version of https://github.com/grisumbras/enum-flags. See ext/flags/LICENSE.