Generative art graphics engine using ash.
Akai currently contains two nondistinct layers.
- Vulkan wrapper code
- Engine management code
The engine management code (searching for a name) is the interface for the end user. This contains the high level rendering bindings. The management layer uses the Vulkan layer for convenience. It is not the intention to allow the end user to access ash/vulkan objects immediately.
There now is enough Vulkan logic to run some simple rendering applications, see examples. But for further development it will be useful to have a simple high level abstraction the end user can utilize. Current development will focus on that.
- CI tests using swiftshader. Possibly using vulkanci.
- A simple GUI library. For example with imgui-rs-vulkan-renderer.
- An integrated deferred rendering system.
- Could be an interesting way to easily add lighting to generative art, as lighting computations are done in a separate pass.
Make sure you have the Vulkan SDK installed.
Then build akai
:
git clone https://github.com/angelocarly/akai.git
cd akai
cargo run --example compute-pipeline
- ash - Vulkan bindings
- winit - Window creation and handling
- shaderc - Shader compilation
- gpu-allocator - Memory management