2
0
Эх сурвалжийг харах

WebGLUniforms: Pass material to Uniform.onUpdate. See #9637.

Mr.doob 9 жил өмнө
parent
commit
a6f009e590

+ 1 - 1
examples/webgl_interactive_instances_gpu.html

@@ -602,7 +602,7 @@
 			var vert = document.getElementById( 'vertMaterial' ).textContent;
 			var frag = document.getElementById( 'fragMaterial' ).textContent;
 
-			function updateColor( object, camera ) {
+			function updateColor( object, material, camera ) {
 
 				this.value.setHex( object.userData.color );
 

+ 1 - 3
src/renderers/WebGLRenderer.js

@@ -1971,9 +1971,7 @@ function WebGLRenderer( parameters ) {
 
 		if ( dynUniforms !== null ) {
 
-			WebGLUniforms.evalDynamic(
-					dynUniforms, m_uniforms, object, camera );
-
+			WebGLUniforms.evalDynamic( dynUniforms, m_uniforms, object, material, camera );
 			WebGLUniforms.upload( _gl, dynUniforms, m_uniforms, _this );
 
 		}

+ 2 - 2
src/renderers/webgl/WebGLUniforms.js

@@ -575,14 +575,14 @@ WebGLUniforms.splitDynamic = function( seq, values ) {
 
 };
 
-WebGLUniforms.evalDynamic = function( seq, values, object, camera ) {
+WebGLUniforms.evalDynamic = function( seq, values, object, material, camera ) {
 
 	for ( var i = 0, n = seq.length; i !== n; ++ i ) {
 
 		var v = values[ seq[ i ].id ],
 			f = v.onUpdateCallback;
 
-		if ( f !== undefined ) f.call( v, object, camera );
+		if ( f !== undefined ) f.call( v, object, material camera );
 
 	}