gltf was even from conception a real time run time format, in other words it was about importing a fbx, or 3ds,or obj etc etc for realtime engine environments to efficiently use the model and texture info in a run time situation. Game engine.
gltf was never aimed from the beginning to be an intermediate DCC app format, It’s a run time format. Small and fast as possible, not bloated like all other intermediate formats.
If you want a intermediate format replacement like FBX look to pixar USD or some others i cant remember off the top of my head right now, but there’s a lot of company’s released their model formats. Problem is how to get everyone to agree to go in the same direction.
The amd-tootle repository includes the source code of the AMD Tootle library and an application command line tool.
AMD Tootle (Triangle Order Optimization Tool) is a 3D triangle mesh optimization library that improves on existing mesh preprocessing techniques. By using AMD Tootle, developers can optimize their models for pixel overdraw as well as vertex cache performance. This can provide significant performance improvements in pixel limited situations, with no penalty in vertex-limited scenarios, and no runtime cost.
AMD Tootle Features
- Vertex cache optimization: Triangles are re-ordered to optimize for the post-transform vertex cache in modern GPUs. This will yield significant performance improvements in vertex-tranform limited scenes.
- Overdraw optimization: To reduce the pixel cost of rendering a mesh, the AMD Tootle library further re-orders the triangles in the mesh to reduce pixel overdraw. Significant reductions in pixel overdraw (2x or higher) can be achieved. This can yield significant performance improvements in pixel-limited scenes, and incurs no penalty in vertex-limited scenarios.
- Vertex prefetch cache optimization: Triangle indices are re-indexed in the order of their occurrence in the triangle list. The vertex buffer is re-ordered to match these new indices. Thus, vertices are accessed close to each other in memory. This optimization exploits the input vertex cache because vertices are typically fetched in a cacheline (that may contains more than one vertex data).
AMD Tootle supports Microsoft Windows and Linux platform.
I would suggest people play around with Tootle just to get the point im making. In a UE4 test project running my models through tootle gave me a 30 FPS speed increase in UE4.
Just as a test, I also used it for models rendered in Blender which when using GPU also gave me speed increases, I actually tried asking some devs on chat how Blender internally stores model data once imported from a specific model format like fbx, Blend, Obj, DAE etc etc but never got a reply. If someone could explain tome how Blender Stores model data internally you could easily have tootle (open source) convert the model data automatically when storing into blenders internal model format for realtime or rendering. That could give a very substantial speed up in viewport and BGE performance.
But i couldn’t find for shit where and how Blender is storing internal model data. If you know, please let me know and ill take another look.