Improved Area Lighting in WebGL & ThreeJS
NOTE: three.js now supports THREE.RectAreaLight. This answer pertains to legacy versions of three.js. Your approach of using the point that maximizes the dot product is fundamentally flawed, and not physically plausible. In your first illustration above, suppose that your area light consisted of only the left half. The “purple” point — the one that maximizes … Read more