Just wondering if someone can explain to me why when using the Add node on an output from a TextureCoordinate object it seems to modify the position of the pixel in the texture I sample from but when I use a multiply it seems to scale the UV tiling? I’m trying to think of this as if it was written in C++, i’m imagining the TextureCoordinate node to be a struct/class with member variables U, V, and UTile, VTile. Why is it that addition appears to apply to U and V member variables while multiply appears to apply to the UTile and VTile? Do material nodes have some kind of operator overloading coded behind the scenes?
I’m sure there is probably something very simple/fundamental that i’m missing here or i’m thinking about it in totally the wrong way but I just haven’t been able to find the answer.
[EDIT] wait, does the TextureCoordinate node output a matrix of some kind?