2005-10-05 18:42:09 +02:00
|
|
|
uniform vec3 SHCoefficients[9];
|
|
|
|
|
|
|
|
vec3 lighting(vec3 normal)
|
|
|
|
{
|
|
|
|
vec3 color = SHCoefficients[0];
|
|
|
|
vec3 normalsq = normal*normal;
|
|
|
|
color += SHCoefficients[1]*normal.x;
|
|
|
|
color += SHCoefficients[2]*normal.y;
|
|
|
|
color += SHCoefficients[3]*normal.z;
|
|
|
|
color += SHCoefficients[4]*(normal.x*normal.z);
|
|
|
|
color += SHCoefficients[5]*(normal.z*normal.y);
|
|
|
|
color += SHCoefficients[6]*(normal.y*normal.x);
|
2005-10-05 21:29:52 +02:00
|
|
|
color += SHCoefficients[7]*(3.0*normalsq.z-1.0);
|
2005-10-05 18:42:09 +02:00
|
|
|
color += SHCoefficients[8]*(normalsq.x-normalsq.y);
|
|
|
|
return color;
|
|
|
|
}
|