Supporting OBJ with texture maps (without textureModel module)

There is quite a bit of interested working with textured 3D models in Slicer/SlicerMorph. We are also going to soon publish a paper on how to generate them using an entirely open-source pipeline. Here is a sample output: http://smc-1.slicermorph.org:8000/public/task/40fde03c-1574-449a-b70c-03c291e023e6/3d/ (use the download button on the lower right to obtain the textured model).

Currently we can import the texture on these OBJ models using the Texture Model from IGT extension and it works.

But it is not quite convenient, mostly because the texture maps are huge and when loaded into the slicer scene (which is required to run the texture model module), it creates huge offset in the 3D viewer, which confuses people about why the model is not centered on the BB (it will, if you delete the texture object, after you run the Texture model).

What would it take to make loading the texture (for OBJ format) automatically be supported as it is in other application like Meshlab, without requiring to load the texture and run the module.

The model storage node C++ code could be updated to detect the texture and apply it automatically. Or the python code from the extension could be made into a custom reader plugin that implements the texturing part without going through a volume node. Either is possible with some effort (how much effort depends on who is doing it). It would be a good learning exercise for a new developer.