26 lines
664 B
GLSL
26 lines
664 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 = .25+.2*sin(timer*8.);
|
|
return vec4(min(color.rgb+vec3(glow),1.),color.a);
|
|
}
|
|
|
|
vec4 ProcessTexel()
|
|
{
|
|
vec2 gs = texture(ambglow,vec2(.5)).xy;
|
|
if ( gs.x > .5 ) getTexel(vTexCoord.st);
|
|
if ( gs.y > .5 )
|
|
{
|
|
float glow = max(0.,sin(timer*4.)-.5);
|
|
vec4 col = getTexel(vTexCoord.st);
|
|
return vec4(min(col.rgb+vec3(glow),1.),col.a);
|
|
}
|
|
return getTexel(vTexCoord.st);
|
|
}
|