Add (managed) scene validation
To avoid potentially mysterious errors when exporting a manually created managed scene either when the data is pushed to an unmanaged representation -or- sent to native Assimp, allow users to call a validate method on the scene object that does:
-
Checks for incompleteness (e.g. missing nodes, materials)
-
Checks scene indices (e.g. does a node reference a mesh that is out of range of the mesh list?)
-
Checks mesh data indices (is there a face that references a vertex that is out of range to the vertex buffer?)
-
Takes in an enum to determine the level of thoroughness in checking
-
Outputs helpful error strings and/or enumeration that points to the specific error.
Native assimp does have scene validation, but converting to unmanaged memory seems overkill, also it won't detect managed-specific problems that would cause the conversion to fail.
This enhancement is up for grabs if anyone wants to contribute to the project.