FYI: lerp(A,B, C) is basically A * (1-C) + B * C (which is pretty much alpha blending made into a function, where the background is A, the texture is B and its alpha is C) a more advanced version is smoothstep(), which gives a non-linear interpolation (lerp sands for linear interpolation) where the slope at 0 and 1 is 0:…
to expand on this just use custom float2 return round(gradient.xy); where gradient is your gradient(s) for example texcoord node. If you were doing 3 gradients make it float 3 etc etc. this just keeps it real tidy edit: stupid me, didn't see that you also want to move it. oh well, maybe that will be helpful anyway. You can…