diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index e1925ab63e629502f8b454c761e8f3dd60cde55f..cb9697162c0c400923bb108d83a30d93ffc6b811 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -2489,6 +2489,8 @@ THREE.WebGLRenderer = function ( parameters ) { if ( material.visible === false ) return; + updateObject( object ); + var program = setProgram( camera, lights, fog, material, object ); var updateBuffers = false, @@ -2794,6 +2796,8 @@ THREE.WebGLRenderer = function ( parameters ) { if ( material.visible === false ) return; + updateObject( object ); + var program = setProgram( camera, lights, fog, material, object ); var attributes = program.attributes; @@ -3420,8 +3424,6 @@ THREE.WebGLRenderer = function ( parameters ) { if ( webglObjects && ( object.frustumCulled === false || _frustum.intersectsObject( object ) === true ) ) { - updateObject( object ); - for ( var i = 0, l = webglObjects.length; i < l; i ++ ) { var webglObject = webglObjects[i]; @@ -3966,7 +3968,6 @@ THREE.WebGLRenderer = function ( parameters ) { material.attributes && clearCustomAttributes( material ); - } else if ( object instanceof THREE.PointCloud ) { material = getBufferMaterial( object, geometry );