I’ve been writting a little Vulkan framework called Brokkr and a few example applications using the framework. You can check out the code here.

The main motivation for starting the project was to learn how to use Vulkan API, but also to have a simple framework that I could use to do prototyping of ideas or algorithms I want to experiment with.

It’s still very much under development, but it’s starting to look like what I would like to get out of a graphics development framework like this.

It’s got a two-level API, each in its own namespace, “core” and “framework”.

Core APIs are the base of the framework, but can be used on application code when more explicit control is needed. It’s got a thin abstraction layer and some useful utilities to interact with Vulkan, and, also, a linear algebra library, code to load images and handling windows and that kind of stuff. Most of the samples are written using this “low level” rendering API, a good example would be the deferred-shading example.

Framework APIs provide a higher level of abstraction which is useful for rapid prototyping. The rendering API is based on Unity’s new rendering API which I find very pleasant to use for prototyping graphics code. A good example of this could be the framework-test or the fluid-simulation samples.

My plan is to keep expanding the framework as I need more functionality to write new samples.

These are some of the images generated by the framework