Browse Source

fixed "layerMask" property of mesh and camera

Marco Lebdech 11 years ago
parent
commit
6da5163b5f

+ 1 - 1
Babylon/Materials/textures/babylon.renderTargetTexture.js

@@ -66,7 +66,7 @@ var BABYLON;
             for (var meshIndex = 0; meshIndex < this.renderList.length; meshIndex++) {
                 var mesh = this.renderList[meshIndex];
 
-                if (mesh && mesh.isEnabled() && mesh.isVisible && mesh.subMeshes) {
+                if (mesh && mesh.isEnabled() && mesh.isVisible && mesh.subMeshes && ((mesh.layerMask & scene.activeCamera.layerMask) != 0)) {
                     mesh._activate(scene.getRenderId());
 
                     for (var subIndex = 0; subIndex < mesh.subMeshes.length; subIndex++) {

+ 1 - 1
Babylon/Materials/textures/babylon.renderTargetTexture.ts

@@ -69,7 +69,7 @@
             for (var meshIndex = 0; meshIndex < this.renderList.length; meshIndex++) {
                 var mesh = this.renderList[meshIndex];
 
-                if (mesh && mesh.isEnabled() && mesh.isVisible && mesh.subMeshes) {
+                if (mesh && mesh.isEnabled() && mesh.isVisible && mesh.subMeshes && ((mesh.layerMask & scene.activeCamera.layerMask) != 0)) {
                     mesh._activate(scene.getRenderId());
 
                     for (var subIndex = 0; subIndex < mesh.subMeshes.length; subIndex++) {

+ 2 - 2
Babylon/babylon.scene.js

@@ -636,7 +636,7 @@
                             mesh._preActivate();
                         }
 
-                        if (mesh._renderId === this._renderId || (mesh._renderId === 0 && mesh.isEnabled() && mesh.isVisible && mesh.visibility > 0 && mesh.isInFrustum(this._frustumPlanes))) {
+                        if (mesh._renderId === this._renderId || (mesh._renderId === 0 && mesh.isEnabled() && mesh.isVisible && mesh.visibility > 0 && mesh.isInFrustum(this._frustumPlanes) && ((mesh.layerMask & this.activeCamera.layerMask) != 0))) {
                             if (mesh._renderId === 0) {
                                 this._activeMeshes.push(mesh);
                                 mesh._activate(this._renderId);
@@ -680,7 +680,7 @@
                     mesh.computeWorldMatrix();
                     mesh._preActivate();
 
-                    if (mesh.isEnabled() && mesh.isVisible && mesh.visibility > 0 && mesh.isInFrustum(this._frustumPlanes)) {
+                    if (mesh.isEnabled() && ((mesh.layerMask & this.activeCamera.layerMask) != 0) && mesh.isVisible && mesh.visibility > 0 && mesh.isInFrustum(this._frustumPlanes)) {
                         this._activeMeshes.push(mesh);
                         mesh._activate(this._renderId);
 

+ 1 - 1
Babylon/babylon.scene.ts

@@ -706,7 +706,7 @@
                             mesh._preActivate();
                         }
 
-                        if (mesh._renderId === this._renderId || (mesh._renderId === 0 && mesh.isEnabled() && mesh.isVisible && mesh.visibility > 0 && mesh.isInFrustum(this._frustumPlanes))) {
+						if (mesh._renderId === this._renderId || (mesh._renderId === 0 && mesh.isEnabled() && mesh.isVisible && mesh.visibility > 0 && mesh.isInFrustum(this._frustumPlanes) && ((mesh.layerMask & this.activeCamera.layerMask)!=0))) {
                             if (mesh._renderId === 0) {
                                 this._activeMeshes.push(mesh);
                                 mesh._activate(this._renderId);