Jelajahi Sumber

WebGLRenderer: Updating object at render time. Fixes #5293.

Mr.doob 10 tahun lalu
induk
melakukan
18059f4f38
1 mengubah file dengan 4 tambahan dan 3 penghapusan
  1. 4 3
      src/renderers/WebGLRenderer.js

+ 4 - 3
src/renderers/WebGLRenderer.js

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