/* credits to: TheTimJames https://www.shadertoy.com/view/Md2GRw */ #include "shaders_common.h" static const char* stock_fragment_xmb_snowflake = GLSL( uniform float time; uniform float atime; uniform vec2 OutputSize; vec2 uv; float rand(vec2 co) { return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453); } float snow(vec3 pos, vec2 uv, float o) { vec2 d = (pos.xy - uv); float a = atan(d.y,d.x)+sin(atime*1.+o)*10.; float dist = d.x*d.x + d.y*d.y; if(dist < pos.z/400.){ float col = 0.0; if(sin(a*8.) < 0.0){col=1.0;} if(dist