– preliminary support for dynamic uniform buffers
– make the renderer support starting up without any meshes to render
In addition to the regular uniform buffers, this commit added dynamic uniform buffers to every model created on the renderer. These were later used for updating information specific to a model on a per-frame basis, such as rotation and position.
Furthermore this commit allowed OLives to start without any meshes loaded by injecting dummy data into the renderer until a proper mesh is loaded.
make scrolling work with proper camera rotation
Rotating the view and then initiating scrolling caused some weird behaviour, this commit fixed the underlying view matrix calculation.
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.
fix build and move the used vertex data to the modelmanager. still completely temporary as the renderer is just using hardcoded indices
Finally the ModelManager is used to load and show vertex data by the renderer, as opposed to the hardocded path (and loading/decoding logic) that was used before.
fix build by (besides wanted fixes) remove move semantics for now
As mentioned in the previous commit, this mainly fixes the build by removing C++14 move semantics in some cases. Lack of deeper knowledge of the new C++14 features can be blamed here.