Another missing normalization

This commit is contained in:
codeanticode
2012-02-10 23:22:21 +00:00
parent bf20d8cd2f
commit 76dfbe848f
2 changed files with 5 additions and 3 deletions
@@ -98,7 +98,7 @@ void main() {
lightDir = -lightNormal[i];
} else {
falloff = falloffFactor(lightPos, ecVertex, lightFalloffCoefficients[i]);
lightDir = lightPos - ecVertex;
lightDir = normalize(lightPos - ecVertex);
}
spotf = spotExp > zero_float ? spotFactor(lightPos, ecVertex, lightNormal[i],
@@ -108,14 +108,16 @@ void main() {
if (any(greaterThan(lightAmbient[i], zero_vec3))) {
totalAmbient += lightAmbient[i] * falloff;
}
if (any(greaterThan(lightDiffuse[i], zero_vec3))) {
totalDiffuse += lightDiffuse[i] * falloff * spotf *
lambertFactor(-lightDir, ecNormal);
}
if (any(greaterThan(lightSpecular[i], zero_vec3))) {
totalSpecular += lightSpecular[i] * falloff * spotf *
blinnPhongFactor(-lightDir, lightPos, ecNormal, inShine);
}
}
}
vertColor = vec4(totalAmbient, 1) * inAmbient +
@@ -4189,7 +4189,7 @@ public class PGraphicsAndroid3D extends PGraphics {
float nx = dx * modelviewInv.m00 + dy * modelviewInv.m10 + dz * modelviewInv.m20;
float ny = dx * modelviewInv.m01 + dy * modelviewInv.m11 + dz * modelviewInv.m21;
float nz = dx * modelviewInv.m02 + dy * modelviewInv.m12 + dz * modelviewInv.m22;
float invn = 1.0f / PApplet.dist(0, 0, 0, nx, ny, nz);
lightNormal[3 * num + 0] = invn * nx;
lightNormal[3 * num + 1] = invn * ny;