浏览代码

Add clamp for distance fog

ShiroSmith 6 年之前
父节点
当前提交
8be1a01e1b
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      h3d/shader/DistanceFog.hx

+ 2 - 2
h3d/shader/DistanceFog.hx

@@ -32,8 +32,8 @@ class DistanceFog extends ScreenShader {
 			var origin = getPosition(calculatedUV);
 			var distance = (origin - cameraPos).length();
 			if( startDistance > distance ) discard;
-			var opacityFactor = (distance - startDistance) / (endDistance - startDistance);
-			var colorFactor = (distance - startColorDistance) / (endColorDistance - startColorDistance);
+			var opacityFactor = clamp((distance - startDistance) / (endDistance - startDistance), 0, 1);
+			var colorFactor = clamp((distance - startColorDistance) / (endColorDistance - startColorDistance), 0, 1);
 			var fogColor = mix(startColor, endColor, colorFactor);
 			var fogOpacity = mix(startOpacity, endOpacity, opacityFactor);
 			if( fogOpacity <= 0 ) discard;