http://www.babylonjs.com/cyos/#1HHTZZ#15 Here you go: vec2 rgrad2(vec2 p, float rot); vec3 psrdnoise(vec2 pos, vec2 per, float rot); vec3 psdnoise(vec2 pos, vec2 per); float psrnoise(vec2 pos, vec2 per, float rot); float psnoise(vec2 pos, vec2 per); vec3 srdnoise(vec2 pos, float rot); vec3 sdnoise(vec2 pos); float srnoise(vec2 pos, float rot); vec2 cellular(vec2 P); vec2 cellular2x2(vec2 P); vec2 cellular2x2x2(vec3 P); vec2 cellular(vec3 P); float cnoise(vec2 P)