I’m trying to revive the io_three json loader by making a new one.
I’m trying to make a loader that has no loading screen, it shows the rendering process.
I wonder how much help can i get from here about the syntax and all.
First question, why does a texture need face data? https://threejs.org/docs/#api/en/core/Face3
I can see the need for normals and texture colors, but the face is a bit confusing.
How about would I start to make sense of this data
Sounds like what you want is mesh streaming -check out this thread:
Alternatively, you can get someway to that result by removing textures from your model and loading them after the main file. I do that on discoverthreejs.com. It doesn’t remove the loading screen but it does reduce the time it displays for quite a bit.
Check out the Sketchfab chapter in WebGL Insights for a more advanced and generic version - they load placeholder 16x16 textures with the model and then replace them with the correct textures in an order that isn’t visually jarring, starting with the opacity map.
If your model is relatively simple but has big textures this method will probably be as effective as mesh streaming and it’s a lot simpler!
Nobody likes loading screens, it’s true. If you find a way to load up a complex mesh while avoiding a loading screen then please share your technique here. However, in my opinion, recreating the old JSON loader is probably not a good approach to take.
Textures need uv-data (texture coordinates) for correct texture projection. These data are geometric information and can be organized as face data (like Face3 does).