瀏覽代碼

Merge pull request #6326 from sebavan/master

SH Clamp
sebavan 6 年之前
父節點
當前提交
ced3bf95ac
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      src/Misc/HighDynamicRange/cubemapToSphericalPolynomial.ts

+ 7 - 0
src/Misc/HighDynamicRange/cubemapToSphericalPolynomial.ts

@@ -148,6 +148,13 @@ export class CubeMapToSphericalPolynomialTools {
                         b = Math.pow(Scalar.Clamp(b), ToLinearSpace);
                     }
 
+                    // Prevent to explode in case of really high dynamic ranges.
+                    // sh 3 would not be enough to accurately represent it.
+                    const max = 4096;
+                    r = Scalar.Clamp(r, 0, max);
+                    g = Scalar.Clamp(g, 0, max);
+                    b = Scalar.Clamp(b, 0, max);
+
                     var color = new Color3(r, g, b);
 
                     sphericalHarmonics.addLight(worldDirection, color, deltaSolidAngle);