소스 검색

improved lights culling

ncannasse 7 년 전
부모
커밋
94936183bc
1개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 7 1
      h3d/scene/pbr/Renderer.hx

+ 7 - 1
h3d/scene/pbr/Renderer.hx

@@ -58,7 +58,13 @@ class Renderer extends h3d.scene.Renderer {
 			pbrLightPass.addShader(pbrDirect);
 			pbrLightPass.addShader(pbrDirect);
 			pbrLightPass.addShader(pbrProps);
 			pbrLightPass.addShader(pbrProps);
 			pbrLightPass.blend(One, One);
 			pbrLightPass.blend(One, One);
-			pbrLightPass.depthWrite = false;
+			/*
+				This allows to discard light pixels when there is nothing
+				between light volume and camera. Also prevents light shape
+				to be discarded when the camera is inside its volume.
+			*/
+			pbrLightPass.culling = Front;
+			pbrLightPass.depth(false, Greater);
 			pbrLightPass.enableLights = true;
 			pbrLightPass.enableLights = true;
 		}
 		}
 		ctx.pbrLightPass = pbrLightPass;
 		ctx.pbrLightPass = pbrLightPass;