|
@@ -1121,7 +1121,7 @@ function WebGLRenderer( parameters ) {
|
|
|
_localClippingEnabled = this.localClippingEnabled;
|
|
|
_clippingEnabled = _clipping.init( this.clippingPlanes, _localClippingEnabled, camera );
|
|
|
|
|
|
- projectObject( scene, camera );
|
|
|
+ projectObject( scene, camera, _this.sortObjects );
|
|
|
|
|
|
opaqueObjects.length = opaqueObjectsLastIndex + 1;
|
|
|
transparentObjects.length = transparentObjectsLastIndex + 1;
|
|
@@ -1381,11 +1381,11 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- function projectObject( object, camera ) {
|
|
|
+ function projectObject( object, camera, sortObjects ) {
|
|
|
|
|
|
- if ( object.visible === false ) return;
|
|
|
+ if ( ! object.visible ) return;
|
|
|
|
|
|
- var visible = ( object.layers.mask & camera.layers.mask ) !== 0;
|
|
|
+ var visible = object.layers.test( camera.layers );
|
|
|
|
|
|
if ( visible ) {
|
|
|
|
|
@@ -1395,7 +1395,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
} else if ( object.isSprite ) {
|
|
|
|
|
|
- if ( object.frustumCulled === false || isSpriteViewable( object ) === true ) {
|
|
|
+ if ( ! object.frustumCulled || isSpriteViewable( object ) ) {
|
|
|
|
|
|
sprites.push( object );
|
|
|
|
|
@@ -1407,10 +1407,9 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
} else if ( object.isImmediateRenderObject ) {
|
|
|
|
|
|
- if ( _this.sortObjects === true ) {
|
|
|
+ if ( sortObjects ) {
|
|
|
|
|
|
- _vector3.setFromMatrixPosition( object.matrixWorld );
|
|
|
- _vector3.applyMatrix4( _projScreenMatrix );
|
|
|
+ _vector3.setFromMatrixPosition( object.matrixWorld ).applyMatrix4( _projScreenMatrix );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -1424,12 +1423,11 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- if ( object.frustumCulled === false || isObjectViewable( object ) === true ) {
|
|
|
+ if ( ! object.frustumCulled || isObjectViewable( object ) ) {
|
|
|
|
|
|
- if ( _this.sortObjects === true ) {
|
|
|
+ if ( sortObjects ) {
|
|
|
|
|
|
- _vector3.setFromMatrixPosition( object.matrixWorld );
|
|
|
- _vector3.applyMatrix4( _projScreenMatrix );
|
|
|
+ _vector3.setFromMatrixPosition( object.matrixWorld ).applyMatrix4( _projScreenMatrix );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -1445,7 +1443,7 @@ function WebGLRenderer( parameters ) {
|
|
|
var group = groups[ i ];
|
|
|
var groupMaterial = material[ group.materialIndex ];
|
|
|
|
|
|
- if ( groupMaterial && groupMaterial.visible === true ) {
|
|
|
+ if ( groupMaterial && groupMaterial.visible ) {
|
|
|
|
|
|
pushRenderItem( object, geometry, groupMaterial, _vector3.z, group );
|
|
|
|
|
@@ -1453,7 +1451,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- } else if ( material.visible === true ) {
|
|
|
+ } else if ( material.visible ) {
|
|
|
|
|
|
pushRenderItem( object, geometry, material, _vector3.z, null );
|
|
|
|
|
@@ -1469,7 +1467,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
for ( var i = 0, l = children.length; i < l; i ++ ) {
|
|
|
|
|
|
- projectObject( children[ i ], camera );
|
|
|
+ projectObject( children[ i ], camera, sortObjects );
|
|
|
|
|
|
}
|
|
|
|