mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
Another missing normalization
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user