flak_m/shaders/glsl/MeshEnviroMap_AmbientGlow.fp
Marisa the Magician 602a89cc68 1.2 update w/ GZDoom 4.9 features:
- Changeable player skins.
 - Ammo LEDs are now 1:1 with UT by using canvas textures.
 - Integrate some add-ons, including reskins.
 - Various fixes (some backported from Demolitionist).
 - Migrated from libeye to Gutamatics.
2022-11-05 23:59:16 +01:00

29 lines
868 B
GLSL

// imitation of the Unreal Engine 1.x ambient glow effect
vec4 ProcessLight( vec4 color )
{
vec2 gs = texture(ambglow,vec2(.5)).xy;
if ( gs.x > .5 ) return color;
if ( gs.y > .5 )
{
float glow = max(0.,sin(timer*4)-.5);
return vec4(min(color.rgb+vec3(glow),1.),color.a);
}
float glow = 0.25+0.2*sin(timer*8);
return vec4(min(color.rgb+vec3(glow),1.0),color.a);
}
// imitation of the Unreal Engine 1.x bMeshEnviroMap effect, not 1:1 but gets close
vec4 ProcessTexel()
{
vec3 eyedir = normalize(uCameraPos.xyz-pixelpos.xyz);
vec3 norm = reflect(eyedir,normalize(vWorldNormal.xyz));
vec2 gs = texture(ambglow,vec2(.5)).xy;
if ( gs.x > .5 ) getTexel(norm.xz*0.5+0.5);
if ( gs.y > .5 )
{
float glow = max(0.,sin(timer*4)-.5);
vec4 col = getTexel(norm.xz*.5+.5);
return vec4(min(col.rgb+vec3(glow),1.),col.a);
}
return getTexel(norm.xz*0.5+0.5);
}