swwmgz_m/shaders/glsl/Fuzz.fp
Marisa Kirisame f44856f7eb Oh boy where do I even start:
- Icons for all item that'll nee them.
 - Fix powerup effects appearing in the inventory tab.
 - Added chancebox models.
 - Some extra sound stuff.
 - Added voice lines for responding to Korax in each Hexen hub.
 - Some work done on the titlemap I guess, nothing big yet, just the logos
   and whatnot.
 - Changed message duration cvars to seconds instead of tics.
 - Added mod menu and credits menu.
 - Lore text adjustments.
 - Added colored text tags for key items.
 - Adjusted how dropping/trading amounts are handled (always goes for highest
   available item drop if it's an ammo).
 - Added invulnerability healthbar effect.
 - Increased knockback of weapon melee, makes it more effective for getting
   enemies out of your face.
 - Adjusted flash effects on Candygun explosions.
 - Made Candygun decals bigger.
2020-02-01 03:54:06 +01:00

39 lines
794 B
GLSL

float rnd( in vec2 sd )
{
//return cos(sd.y*3874.8674+sd.x*6783.5325)*2737.8474;
// use noise tex instead of trig-based PRNG, much better and doesn't break on intel
return texelFetch(noisetex,ivec2(mod(sd.x,256.),mod(sd.y,256.)),0).x;
}
// haha are you telling me I can't declare arrays like in C?
// what the fuck even is this insane syntax?
const vec3 layers[3] =
vec3[](
vec3(0.91,0.87,1.95),
vec3(0.66,1.84,0.73),
vec3(1.35,0.73,1.21)
);
const float speed[3] =
float[](
.5526,
.7843,
.3725
);
const float zoom[3] =
float[](
1.,
2.,
3.
);
vec4 ProcessTexel()
{
vec2 coord;
vec3 col = vec3(1.);
for ( int i=0; i<3; i++ )
{
coord = floor(vTexCoord.st*textureSize(tex,0)/zoom[i]);
col *= layers[i]*2.0*abs(fract(rnd(coord)+timer*speed[i])-0.5);
}
return vec4(col,1.);
}