Remove front-facing check for specular lights

This is basically a copy of the diffusefunc; it doesn't make sense for it to be implemented in both places (though I haven't confirmed that it isn't)
This commit is contained in:
Pokechu22 2022-02-27 12:50:24 -08:00
commit 137b81338f

View file

@ -41,15 +41,12 @@ static void GenerateLightShader(ShaderCode& object, const LightingUidData& uid_d
break;
case AttenuationFunc::Spec:
object.Write(" float cosine = 0.0;\n"
" // Ensure that the object is facing the light\n"
" if (dot(_normal, ldir) >= 0.0) {{\n"
" // Compute the cosine of the angle between the object normal\n"
" // and the half-angle direction for the viewer\n"
" // (assuming the half-angle direction is a unit vector)\n"
" cosine = max(0.0, dot(_normal, " LIGHT_DIR ".xyz));\n",
" // Compute the cosine of the angle between the object normal\n"
" // and the half-angle direction for the viewer\n"
" // (assuming the half-angle direction is a unit vector)\n"
" cosine = max(0.0, dot(_normal, " LIGHT_DIR ".xyz));\n",
LIGHT_DIR_PARAMS(index));
object.Write(" }}\n"
" // Specular lights use the angle for the denominator as well\n"
object.Write(" // Specular lights use the angle for the denominator as well\n"
" dist = cosine;\n"
" dist2 = dist * dist;\n");
break;