浏览代码

Fix LightBuffer leak and DefaultForward compilation depending on the number of lights.

clementlandrin 2 年之前
父节点
当前提交
b774137db7
共有 1 个文件被更改,包括 6 次插入3 次删除
  1. 6 3
      h3d/scene/pbr/LightBuffer.hx

+ 6 - 3
h3d/scene/pbr/LightBuffer.hx

@@ -299,9 +299,12 @@ class LightBuffer {
 		s.dirLightCount = dirLights.length;
 		s.pointLightCount = pointLights.length;
 		s.spotLightCount = spotLights.length;
-		s.DIR_SHADOW_COUNT = dirLightsShadow.length;
-		s.POINT_SHADOW_COUNT = pointLightsShadow.length;
-		s.SPOT_SHADOW_COUNT = spotLightsShadow.length;
+		pointLights = [];
+		spotLights = [];
+		dirLights = [];
+		s.DIR_SHADOW_COUNT = MAX_DIR_SHADOW;
+		s.POINT_SHADOW_COUNT = MAX_POINT_SHADOW;
+		s.SPOT_SHADOW_COUNT = MAX_SPOT_SHADOW;
 		s.lightInfos.uploadFloats(lightInfos, 0, s.lightInfos.vertices, 0);
 
 		var pbrIndirect = @:privateAccess pbrRenderer.pbrIndirect;