ソースを参照

Update SkyShader.js to fix random dark sky due to float precision (#9888)

* Previously if you put sun at vec3(0.0, 1.0, 0.0) and move it along the Y axis, the sky will suddenly become super dark at some random position. Further investigation shows the value passed into function sunIntensity is slightly larger than 1.0 due to float precision issue. Add a clamp will help get rid of such problems.
Hao Zhang 9 年 前
コミット
bc48aed587
1 ファイル変更1 行追加0 行削除
  1. 1 0
      examples/js/SkyShader.js

+ 1 - 0
examples/js/SkyShader.js

@@ -66,6 +66,7 @@ THREE.ShaderLib[ 'sky' ] = {
 
 		"float sunIntensity(float zenithAngleCos)",
 		"{",
+		    	"zenithAngleCos = clamp(zenithAngleCos, -1.0, 1.0);",
 			"return EE * max(0.0, 1.0 - pow(e, -((cutoffAngle - acos(zenithAngleCos))/steepness)));",
 		"}",