add LICENSE, shaders, Cargo.lock, and AUR package

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-08 21:00:34 +02:00
parent a35a741b07
commit 1f9f01a238
39 changed files with 6078 additions and 2 deletions
+63
View File
@@ -0,0 +1,63 @@
// Lightning
// By: Brandon Fogerty
// bfogerty at gmail dot com
// xdpixel.com
#ifdef GL_ES
precision mediump float;
#endif
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;
float Hash( vec2 p)
{
vec3 p2 = vec3(p.xy,2.0);
return fract(sin(dot(p2,vec3(27.1,20.7, 2.4)))*0.5453123);
}
float noise(in vec2 p)
{
vec2 i = floor(p);
vec2 f = fract(p);
f *= f * (3.0-2.0*f);
return mix(mix(Hash(i + vec2(0.,0.)), Hash(i + vec2(1.,0.)),f.x),
mix(Hash(i + vec2(0.,1.)), Hash(i + vec2(1.,1.)),f.x),
f.y);
}
float fbm(vec2 p)
{
float v = 0.0;
v += noise(p*1.0) * .5;
v += noise(p*2.) * .25;
v += noise(p*4.) * .15;
return v;
}
void main( void )
{
vec2 uv = ( gl_FragCoord.xy / resolution.xy ) * 2.0 - 1.0;
vec2 center = vec2(0.0, 0.0);
float angle = time * 0.4;
//uv.x = cos(angle) * (uv.x - center.x) - sin(angle) * (uv.y - center.y) + center.x;
//uv.y = sin(angle) * (uv.x - center.y) + cos(angle) * (uv.y - center.y) + center.y;
vec3 finalColor = vec3( 0.0 );
for( int i=0; i < 3; ++i )
{
float t = abs( 1.4 / (sin(uv.y + fbm( uv + time * 0.04 )) * 100.0) );
finalColor += t * vec3( 2.9, 1.5, .25 );
finalColor = vec3(t);
}
gl_FragColor = vec4( finalColor, 1.0 );
}