Currently, I am working on creating a model viewer in three.js using opengl. One of the key features I am trying to implement is the ability to dynamically change textures while the model is running. So far, I have managed to achieve this functionality, but it seems a bit rudimentary to me. I am aiming for something more visually impressive, similar to what is demonstrated in this video. Even though I understand that this is quite advanced, I have not been able to find any examples or tutorials on how to achieve this effect. Does anyone have any tips or insights on how I can improve my model viewer?