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.
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.
Adds basic glTF import (although right now it only imports back
positions) and fixes support for more of the vertex data that's
available to us. The MDL file isn't written back out yet either, it only
displays in the viewport.
Physis gained skeleton and deform file read support, so we can use that
and extract these directly from the game (without help of the Havok SDK
like TexTools.) The racial deform is still slightly off, but this is
still a pretty big milestone.
Instead of extracting item sheets one at a time, it's now done on
multiple threads. Loading gear is now faster since reused files are
cached, switching between races is still wasteful, but it's a good
enough improvement for now.
These parts (inspired by the KDE parts system) will allow the tooling
to reuse GUI mechanisms. Right now the two supported parts are for Excel
and Models, and exdviewer and mdlviewer will be retrofitted to them in
future commits.