I always noticed that when I try to use TextureStage.getDefault() to get the default texturestage to do stuff like set texture offset, or animate it, it wouldnt take effect, but there arent any warnings or errors as well.
But if I make my own texturestage and assign texture to it IN Panda, then I can change its offset, etc.

Is there a reason applying transforms on TextureStage.getDefault() doesnt work, but making your own and applying on it does?

Texture operations are cached per TextureStage. If you modify the default TextureStage, you’re changing things out from under the cache. This isn’t technically illegal, and it’s difficult to detect when this happens so there are no error messages; but you don’t see any changes because the cache isn’t being updated.

Basically, you’re not supposed to modify the default TextureStage. So don’t do it. :slight_smile:


Theres a single case when i would still prefer the modeller to set the texture himself, even if I will overwrite it: the characters eyes (it could confuse modders if they are told to make a material for the eyes and create UVs, but disable the textures before exporting, also I would know then what file I need to load by the texture set by the modeller)… though if I have 4 separate textures and make them replace each other rather than have 1 big one and change its texoffset, maybe I wouldnt need to worry about this at all.