Add lightning.glsl
This commit is contained in:
parent
7b265ba150
commit
4dbf84304b
1 changed files with 60 additions and 0 deletions
60
lightning.glsl
Normal file
60
lightning.glsl
Normal file
|
@ -0,0 +1,60 @@
|
|||
// Lightning
|
||||
// By: Brandon Fogerty
|
||||
// bfogerty at gmail dot com
|
||||
// xdpixel.com
|
||||
|
||||
|
||||
// MORE MODS BY 27
|
||||
|
||||
|
||||
#ifdef GL_ES
|
||||
precision lowp float;
|
||||
#endif
|
||||
|
||||
uniform float time;
|
||||
uniform vec2 resolution;
|
||||
|
||||
|
||||
float Hash( vec2 p)
|
||||
{
|
||||
vec3 p2 = vec3(p.xy,1.0);
|
||||
return fract(sin(dot(p2,vec3(37.1,61.7, 12.4)))*858.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.)*2.200;
|
||||
v += noise(p*2.)*0.00025;
|
||||
v -= noise(p*4.)*3.125;
|
||||
v += noise(p*8.)*.00625;
|
||||
v += noise(p*16.)*0.00625;
|
||||
return v;
|
||||
}
|
||||
|
||||
void main( void )
|
||||
{
|
||||
|
||||
vec2 uv = ( gl_FragCoord.xy / resolution.xy ) * 2.0 - 1.0;
|
||||
uv.x *= resolution.x/resolution.y;
|
||||
uv /= max(resolution.x, resolution.y) / 30.0;
|
||||
|
||||
vec3 finalColor = vec3( 0.0 );
|
||||
for( int i=1; i < 2; ++i ) {
|
||||
float t = abs(2.0 / ((uv.x + fbm( uv + time/float(i)))*75.));
|
||||
finalColor += t * vec3( float(i) * 6.2 +0.2, 1.2, 13.0 );
|
||||
}
|
||||
|
||||
gl_FragColor = vec4( finalColor, 1.0 );
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue