diff --git a/design/star.blend b/design/star.blend index 3c0e2d88..23c9b8e8 100644 --- a/design/star.blend +++ b/design/star.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:86b34516cfc6b77acef7a164745f468146676856986de508f8d55d4aef75b5ea -size 1121252 +oid sha256:1e175ca10f16b7dceea864240cf65b0a591576377e95c15409cbdd492442a968 +size 1561733 diff --git a/src/base-environments/intro_scene/shaders/stars.gdshader b/src/base-environments/intro_scene/shaders/stars.gdshader new file mode 100644 index 00000000..4b79274a --- /dev/null +++ b/src/base-environments/intro_scene/shaders/stars.gdshader @@ -0,0 +1,53 @@ +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