21 lines
633 B
GLSL
21 lines
633 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 )
|
|
{
|
|
// temp fix for OBJ bug
|
|
vec2 coord = vTexCoord.st;
|
|
if ( coord.t < 0 ) coord.t = 1.+coord.t;
|
|
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(coord.s-.5)*2.133333));
|
|
mixfct = mix(mixfct,.5,floor(abs(coord.t-.5)*2.13333));
|
|
val *= mixfct;
|
|
return vec4(vec3(val),color.a);
|
|
}
|