浏览代码

Fix terrain shader that can cause infinite loop under certain conditions

borisrp 2 周之前
父节点
当前提交
0c76c07293
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      hrt/shader/Terrain.hx

+ 1 - 1
hrt/shader/Terrain.hx

@@ -111,7 +111,7 @@ class Terrain extends hxsl.Shader {
 			var viewNS = normalize(camera.position - transformedPosition) * TBN;
 			viewNS.xy /= viewNS.z;
 			viewNS.x *= -1;
-			var numLayers = mix(float(maxStep), float(minStep), viewNS.dot(terrainNormal));
+			var numLayers = mix(float(maxStep), float(minStep), saturate(viewNS.dot(terrainNormal)));
 			var layerDepth = 1.0 / numLayers;
 			var curLayerDepth = 0.;
 			var delta = (viewNS.xy * parallaxAmount / primSize) / numLayers;