From 91ae4fe11d8d0d5093e5fc6ad08883caaecbe1b8 Mon Sep 17 00:00:00 2001 From: Leonid Gaev Date: Mon, 9 Jul 2012 18:55:08 +0600 Subject: [PATCH 1/2] fix excludeLight --- src/alternativa/engine3d/core/Object3D.as | 6 +++--- src/alternativa/engine3d/objects/LOD.as | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/alternativa/engine3d/core/Object3D.as b/src/alternativa/engine3d/core/Object3D.as index 42720c1..8cffbc9 100644 --- a/src/alternativa/engine3d/core/Object3D.as +++ b/src/alternativa/engine3d/core/Object3D.as @@ -1363,7 +1363,6 @@ package alternativa.engine3d.core { alternativa3d function collectChildrenDraws(camera:Camera3D, lights:Vector., lightsLength:int, useShadow:Boolean):void { var i:int; var light:Light3D; - var excludedLightLength:int = excludedLights.length; for (var child:Object3D = childrenList; child != null; child = child.next) { // Checking visibility flag @@ -1378,6 +1377,7 @@ package alternativa.engine3d.core { child.listening = true; } // Check if object needs in lightning + var excludedLightLength:int = child.excludedLights.length; if (lightsLength > 0 && child.useLights) { // Pass the lights to children and calculate appropriate transformations var childLightsLength:int = 0; @@ -1387,7 +1387,7 @@ package alternativa.engine3d.core { light = lights[i]; // Checking object for existing in excludedLights j = 0; - while (j 0 && child.useLights) { // Calculation of transfer matrices from sources to object. - var excludedLightLength:int = excludedLights.length; + var excludedLightLength:int = child.excludedLights.length; var childLightsLength:int = 0; for (var i:int = 0; i < lightsLength; i++) { var light:Light3D = lights[i]; var j:int = 0; - while (j Date: Tue, 10 Jul 2012 14:26:27 +0600 Subject: [PATCH 2/2] fix LOD --- src/alternativa/engine3d/objects/LOD.as | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/alternativa/engine3d/objects/LOD.as b/src/alternativa/engine3d/objects/LOD.as index 5b1c294..089943e 100644 --- a/src/alternativa/engine3d/objects/LOD.as +++ b/src/alternativa/engine3d/objects/LOD.as @@ -225,12 +225,12 @@ package alternativa.engine3d.objects { // If object needs on light sources. if (lightsLength > 0 && child.useLights) { // Calculation of transfer matrices from sources to object. - var excludedLightLength:int = child.excludedLights.length; + var excludedLightLength:int = this.excludedLights.length; var childLightsLength:int = 0; for (var i:int = 0; i < lightsLength; i++) { var light:Light3D = lights[i]; var j:int = 0; - while (j