Optimized spot light shader

Former-commit-id: e8e345dc7d02f605b0df80146e9ffe47b10a304d
This commit is contained in:
Lynix 2013-01-24 01:01:49 +01:00
parent 85ccf53557
commit cf47081224
1 changed files with 3 additions and 3 deletions

View File

@ -231,8 +231,8 @@ namespace
"float outerAngle = Lights[i].parameters3.y;\n"
"float innerMinusOuterAngle = Lights[i].parameters3.x - outerAngle;\n"
"float lambert = max(dot(normal, lightDir), 0.0);\n"
"float spot = max((curAngle - outerAngle) / innerMinusOuterAngle, 0.0);\n"
"light += att * lambert * spot * Lights[i].diffuse.rgb * MaterialDiffuse.rgb;\n"
"att *= max((curAngle - outerAngle) / innerMinusOuterAngle, 0.0);\n"
"light += att * lambert * Lights[i].diffuse.rgb * MaterialDiffuse.rgb;\n"
"\n"
"if (MaterialShininess > 0.0)\n"
"{\n"
@ -246,7 +246,7 @@ namespace
else
sourceCode += "light";
sourceCode += " += att * specular * spot * Lights[i].specular.rgb * MaterialSpecular.rgb;\n"
sourceCode += " += att * specular * Lights[i].specular.rgb * MaterialSpecular.rgb;\n"
"}\n";
if (glsl140)