From a6f009e590038cacae577147a3a3031d20ff2ac9 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Wed, 7 Sep 2016 16:04:19 -0700 Subject: [PATCH] WebGLUniforms: Pass material to Uniform.onUpdate. See #9637. --- examples/webgl_interactive_instances_gpu.html | 2 +- src/renderers/WebGLRenderer.js | 4 +--- src/renderers/webgl/WebGLUniforms.js | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/examples/webgl_interactive_instances_gpu.html b/examples/webgl_interactive_instances_gpu.html index 60bef9fb53..53740555cc 100644 --- a/examples/webgl_interactive_instances_gpu.html +++ b/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 ); diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index fe27455601..f558bd0d7e 100644 --- a/src/renderers/WebGLRenderer.js +++ b/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 ); } diff --git a/src/renderers/webgl/WebGLUniforms.js b/src/renderers/webgl/WebGLUniforms.js index fb93609107..62a3aacacc 100644 --- a/src/renderers/webgl/WebGLUniforms.js +++ b/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 ); } -- GitLab