Commit 240402c0

make the project compile with a more recent vulkanhpp version. actually read vertex and index dimensions from the model manager

This one was not a lot of fun, a newer version of vulkanhpp, the C++ wrapper around the native C Vulkan API, was released and introduced a few changes. A lack of user-friendly documentation made the switch more painful than first expected.
On a more positive note, the model data was now fully loaded from the ModelManager and dynamic.

Commit 8212b8b9

add the first part of the WiP model concept, currently broken

This introduces the ModelManager, a class that can load arbitrary models as well as caching data about already loaded models, so requesting the same model twice will not result in the same model being loaded more than once.
In this state the code was already added, but broke the build, also even if it worked, it would have been unused by the renderer, which was still using hardcoded model references.

Commit 1fe9819e

implement the first iteration of the logger

This introduces the logger, the main features are different logging levels (Normal, Error and Debug) as well as automatic logging into stdout/stderr respectively as well as into a main logging file (olives.log) for the Normal/Debug messages and an error file (olives.err.log) for the Error type log entries. Using it looks something like this:

std::string message = “Renderer: Could not create logical device”;
logger->logError(message);
throw std::runtime_error(message);