I just put the final touches on my own custom model format this morning to replace MS3D and everything works! I wrote an export script for Blender for my custom format and loaded it in the engine code. As of right now, the implementation is duplicate to what was working with MS3D, but because the data layout is friendlier for Shaders, it loads even faster than before! I’m not sure why most the 3d model formats out there aren’t more straight forward. Every game, every shader application, in modern GPU programming needs per Vertex data.
Before jumping into my own format, I assessed other popular formats as well. FBX, X, 3DS, these all have downfalls. FBX seemed too bloated, it is a full SDK with more functionality than I need and I spent a whole day just reading the documentation. X format seems pretty nice, but there is no binary exporter for Blender currently, if I wanted to use this format I’d have to write it myself. 3DS is a popular format, but does not include per vertex normals, it only stores face normals (smoothing groups).