swwmgz_m/shaders/glsl/PerfectlyGeneric.fp

18 lines
546 B
GLSL

// perfectly generic cube fake shading
void SetupMaterial( inout Material mat )
{
mat.Base = getTexel(vTexCoord.st);
mat.Normal = ApplyNormalMap(vTexCoord.st);
}
vec4 ProcessLight( Material mat, vec4 color )
{
vec3 light = vec3(-.6,.7,.8);
float val = max(dot(normalize(vEyeNormal.xyz),light),.25);
val += .2*pow(max(dot(normalize(vEyeNormal.xyz),light),0.),4.);
float mixfct = mix(1.,.5,floor(abs(vTexCoord.s-.5)*2.133333));
mixfct = mix(mixfct,.5,floor(abs(vTexCoord.t-.5)*2.13333));
val *= mixfct;
return vec4(vec3(val),color.a);
}