It is really simple and well explained in the book of shaders
Also, you can find a lot of coolness by searching shadertoy for “polka dots”
Here is my setup, in a shader it’ll be one line of HLSL ![]()
Fract and step are very cheap operations, so computation cost for this shift is close to nothing
