From a64e7672256365897dc69a9e6c431f7ae77d5ea1 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Mon, 25 Nov 2013 20:11:58 +0800 Subject: [PATCH] Removed unneeded check in Projector/Sprites. --- src/core/Projector.js | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/src/core/Projector.js b/src/core/Projector.js index a61ae1aa6f..0cba3955e0 100644 --- a/src/core/Projector.js +++ b/src/core/Projector.js @@ -382,34 +382,30 @@ THREE.Projector = function () { _modelMatrix = object.matrixWorld; - if ( object instanceof THREE.Sprite ) { + _vector4.set( _modelMatrix.elements[12], _modelMatrix.elements[13], _modelMatrix.elements[14], 1 ); + _vector4.applyMatrix4( _viewProjectionMatrix ); - _vector4.set( _modelMatrix.elements[12], _modelMatrix.elements[13], _modelMatrix.elements[14], 1 ); - _vector4.applyMatrix4( _viewProjectionMatrix ); + var invW = 1 / _vector4.w; - var invW = 1 / _vector4.w; + _vector4.z *= invW; - _vector4.z *= invW; + if ( _vector4.z >= -1 && _vector4.z <= 1 ) { - if ( _vector4.z >= -1 && _vector4.z <= 1 ) { + _sprite = getNextSpriteInPool(); + _sprite.id = object.id; + _sprite.x = _vector4.x * invW; + _sprite.y = _vector4.y * invW; + _sprite.z = _vector4.z; + _sprite.object = object; - _sprite = getNextSpriteInPool(); - _sprite.id = object.id; - _sprite.x = _vector4.x * invW; - _sprite.y = _vector4.y * invW; - _sprite.z = _vector4.z; - _sprite.object = object; + _sprite.rotation = object.rotation; - _sprite.rotation = object.rotation; + _sprite.scale.x = object.scale.x * Math.abs( _sprite.x - ( _vector4.x + camera.projectionMatrix.elements[0] ) / ( _vector4.w + camera.projectionMatrix.elements[12] ) ); + _sprite.scale.y = object.scale.y * Math.abs( _sprite.y - ( _vector4.y + camera.projectionMatrix.elements[5] ) / ( _vector4.w + camera.projectionMatrix.elements[13] ) ); - _sprite.scale.x = object.scale.x * Math.abs( _sprite.x - ( _vector4.x + camera.projectionMatrix.elements[0] ) / ( _vector4.w + camera.projectionMatrix.elements[12] ) ); - _sprite.scale.y = object.scale.y * Math.abs( _sprite.y - ( _vector4.y + camera.projectionMatrix.elements[5] ) / ( _vector4.w + camera.projectionMatrix.elements[13] ) ); + _sprite.material = object.material; - _sprite.material = object.material; - - _renderData.elements.push( _sprite ); - - } + _renderData.elements.push( _sprite ); } -- GitLab