Model support for loading glTF
The glTF open standard is intended as a simple, modern runtime format for models. Model should support loading these, although they will require PBREffect for the material system.
To handle the json parsing, https://github.com/nlohmann/json is the right choice. That said, I'd rather use it via VCPKG 's nlohmann-json port which will work for CMake and I can make it work for VS 2022 MSBuild. The question is do I also include a copy for VS 2019 or non-VCPKG scenarios or do I just mandate the package manager.
For testing: https://github.com/KhronosGroup/glTF-Asset-Generator
https://www.khronos.org/files/gltf20-reference-guide.pdf
The KHR_materials_unlit extension would require a second effect factory: one for PBR and one for BasicEffect/SkinningEffect. Alternatively I could add something in the EffectInfo and add logic to PBREffectFactory to handle this case.
I should fail on KHR_draco_mesh_compression being extensionRequired. Or really any extension other than unit.
KHR_mesh_quantization could be added with more code.