소스 검색

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;