提交 7f46b515 编写于 作者: M Mr.doob

Clean up and performance optimisations.

上级 f9d6a88c
...@@ -829,7 +829,7 @@ function WebGLRenderer( parameters ) { ...@@ -829,7 +829,7 @@ function WebGLRenderer( parameters ) {
// //
if ( object && object.isMesh ) { if ( object.isMesh ) {
if ( material.wireframe === true ) { if ( material.wireframe === true ) {
...@@ -857,7 +857,7 @@ function WebGLRenderer( parameters ) { ...@@ -857,7 +857,7 @@ function WebGLRenderer( parameters ) {
} }
} else if ( object && object.isLine ) { } else if ( object.isLine ) {
var lineWidth = material.linewidth; var lineWidth = material.linewidth;
...@@ -865,7 +865,7 @@ function WebGLRenderer( parameters ) { ...@@ -865,7 +865,7 @@ function WebGLRenderer( parameters ) {
state.setLineWidth( lineWidth * getTargetPixelRatio() ); state.setLineWidth( lineWidth * getTargetPixelRatio() );
if ( object && object.isLineSegments ) { if ( object.isLineSegments ) {
renderer.setMode( _gl.LINES ); renderer.setMode( _gl.LINES );
...@@ -875,7 +875,7 @@ function WebGLRenderer( parameters ) { ...@@ -875,7 +875,7 @@ function WebGLRenderer( parameters ) {
} }
} else if ( object && object.isPoints ) { } else if ( object.isPoints ) {
renderer.setMode( _gl.POINTS ); renderer.setMode( _gl.POINTS );
...@@ -1387,13 +1387,15 @@ function WebGLRenderer( parameters ) { ...@@ -1387,13 +1387,15 @@ function WebGLRenderer( parameters ) {
if ( object.visible === false ) return; if ( object.visible === false ) return;
if ( object.layers.test( camera.layers ) ) { var visible = ( object.layers.mask & camera.layers.mask ) !== 0;
if ( object && object.isLight ) { if ( visible ) {
if ( object.isLight ) {
lights.push( object ); lights.push( object );
} else if ( object && object.isSprite ) { } else if ( object.isSprite ) {
if ( object.frustumCulled === false || isSpriteViewable( object ) === true ) { if ( object.frustumCulled === false || isSpriteViewable( object ) === true ) {
...@@ -1401,11 +1403,11 @@ function WebGLRenderer( parameters ) { ...@@ -1401,11 +1403,11 @@ function WebGLRenderer( parameters ) {
} }
} else if ( object && object.isLensFlare ) { } else if ( object.isLensFlare ) {
lensFlares.push( object ); lensFlares.push( object );
} else if ( object && object.isImmediateRenderObject ) { } else if ( object.isImmediateRenderObject ) {
if ( _this.sortObjects === true ) { if ( _this.sortObjects === true ) {
...@@ -1416,9 +1418,9 @@ function WebGLRenderer( parameters ) { ...@@ -1416,9 +1418,9 @@ function WebGLRenderer( parameters ) {
pushRenderItem( object, null, object.material, _vector3.z, null ); pushRenderItem( object, null, object.material, _vector3.z, null );
} else if ( ( object && object.isMesh ) || ( object && object.isLine ) || ( object && object.isPoints ) ) { } else if ( object.isMesh || object.isLine || object.isPoints ) {
if ( object && object.isSkinnedMesh ) { if ( object.isSkinnedMesh ) {
object.skeleton.update(); object.skeleton.update();
...@@ -1495,7 +1497,7 @@ function WebGLRenderer( parameters ) { ...@@ -1495,7 +1497,7 @@ function WebGLRenderer( parameters ) {
object.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld ); object.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld );
object.normalMatrix.getNormalMatrix( object.modelViewMatrix ); object.normalMatrix.getNormalMatrix( object.modelViewMatrix );
if ( object && object.isImmediateRenderObject ) { if ( object.isImmediateRenderObject ) {
setMaterial( material ); setMaterial( material );
......
...@@ -342,7 +342,7 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) { ...@@ -342,7 +342,7 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) {
} }
var useSkinning = (object && object.isSkinnedMesh) && material.skinning; var useSkinning = object.isSkinnedMesh && material.skinning;
var variantIndex = 0; var variantIndex = 0;
...@@ -428,7 +428,9 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) { ...@@ -428,7 +428,9 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) {
if ( object.visible === false ) return; if ( object.visible === false ) return;
if ( object.layers.test( camera.layers ) && ( (object && object.isMesh) || (object && object.isLine) || (object && object.isPoints) ) ) { var visible = ( object.layers.mask & camera.layers.mask ) !== 0;
if ( visible && ( object.isMesh || object.isLine || object.isPoints ) ) {
if ( object.castShadow && ( object.frustumCulled === false || _frustum.intersectsObject( object ) === true ) ) { if ( object.castShadow && ( object.frustumCulled === false || _frustum.intersectsObject( object ) === true ) ) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册