stinger_m/shaders/glsl/MeshEnviroMapMasked_AmbientGlow.fp

16 lines
709 B
GLSL

// imitation of the Unreal Engine 1.x bMeshEnviroMap effect, not 1:1 but gets close
// +
// imitation of the Unreal Engine 1.x ambient glow effect
// with the addition of a mask for blending the environment map with the base texture
void SetupMaterial( inout Material mat )
{
vec4 base = getTexel(vTexCoord.st);
float mask = texture(masktex,vTexCoord.st).x;
vec3 eyedir = normalize(uCameraPos.xyz-pixelpos.xyz);
vec3 norm = reflect(eyedir,normalize(vWorldNormal.xyz));
mat.Base = vec4(base.rgb+texture(envtex,norm.xz*.5+.5).rgb*mask,base.a);
float glow = .25+.2*sin(timer*8.);
mat.Bright = vec4(vec3(glow),1.);
mat.Normal = ApplyNormalMap(vTexCoord.st);
mat.Normal = ApplyNormalMap(vTexCoord.st);
}