shader_type sky; uniform float star_size: hint_range(50.0, 500.0) = 120.0; uniform sampler2D star_colors: hint_default_white; uniform sampler2D sky_gradient: hint_default_black, repeat_disable; uniform sampler2D nebula_gradient: hint_default_black, repeat_disable; uniform float nebula_offset; uniform sampler2D universe_background: hint_default_black; // https://github.com/Norrox/GodotShaders/blob/master/Shaders/Voronoi-Worley/Voronoi.shader vec3 RNGV3(vec3 p) { vec3 a = fract(vec3(p.x, p.y, p.z) * vec3(111.11,333.33,444.44)); a += dot(a, a+33.51); return fract(vec3(a.x*a.y, a.y*a.z, a.z*a.x)); //outputs a random vec2 between 0 and 1 } vec4 voronoy(vec3 loc, float scale){ loc = loc*scale; vec4 output = vec4(0., 0., 0., 10.); for(float y=-1.; y<=1.; y++){ for(float x=-1.; x<=1.; x++){ for(float z=-1.; z<=1.; z++){ vec3 offs = vec3(x,y,z); vec3 n = RNGV3(floor(loc)+offs)*2.0-1.0; vec3 p = offs+sin(n) * .5; float d = length((fract(loc)-0.5)-p); if(d