Compiling shaders vs number of textures

Hey, I’m wondering how Unreal deals with manipulation of textures and its draw calls and mem useage + drive space from there.

Let’s say I have one texture and then manipulate its rgb value in its material network to create new colour variations for e.g 3 characters. So they’re all using the same texture, but the compiled shaders are 3 different ones (each one with those unique rgb tweaks). What am I saving here? Drive space for sure as it’s 1 texture as opposed to 3, but what about memory? Does those 3 compiled shaders take up less memory or did the compile create 3 different textures in memory?


The benefit of your ‘rgb value thing’ here (or a texture atlas by example) is that you only have to bind 1 texture which means that it´s only one drawcall (with 1 material)
If they were separate textures (3 with 3 materials) you would have 3 draw calls…3 > 1 (i am so tech!)

You could also read this