This now splits up the rendering system into sensible parts, and makes
it easier to switch between the simple renderer and the new experimental
one. Lots of refactors I needed to do for a while are now done, too.
Based off of structures reversed engineered by Ouroboros, now it can
render objects without shading! Note that it breaks the basic renderer
at the moment, will be fixed later.
I started writing this late last year, and finally uploading parts of
it. Currently, doesn't work, but doesn't crash either. Enable it via
the NOVUS_USE_NEW_RENDERER environment variable.
The goal is to use the game's own shaders instead of creating our own,
it's lacking support for buffers with actual data in them and constants
so while it "works" nothing is displayed on screen yet.
Previously you needed the secret sauce of shader files and skeleton
files from TexTools in the same directory, now this is all embedded in
the application.
Qt5 for macOS can actually use the same code as on Linux/Win, but
apparently no one wants to build it with Vulkan support. Instead, we
spawn a standalone SDL2 window.