Browse Source

Removed dynamic uniforms. See #9662 #9741

Mr.doob 8 years ago
parent
commit
65b8e841fc
4 changed files with 17 additions and 81 deletions
  1. 17 0
      src/Three.Legacy.js
  2. 0 18
      src/core/Uniform.js
  3. 0 14
      src/renderers/WebGLRenderer.js
  4. 0 49
      src/renderers/webgl/WebGLUniforms.js

+ 17 - 0
src/Three.Legacy.js

@@ -11,6 +11,7 @@ import { BufferGeometry } from './core/BufferGeometry.js';
 import { EventDispatcher } from './core/EventDispatcher.js';
 import { Face3 } from './core/Face3.js';
 import { Object3D } from './core/Object3D.js';
+import { Uniform } from './core/Uniform';
 import { BoxGeometry } from './geometries/BoxGeometry.js';
 import { EdgesGeometry } from './geometries/EdgesGeometry.js';
 import { ExtrudeGeometry } from './geometries/ExtrudeGeometry.js';
@@ -524,6 +525,22 @@ EventDispatcher.prototype = Object.assign( Object.create( {
 
 //
 
+Object.defineProperties( Uniform.prototype, {
+	dynamic: {
+		set: function ( value ) {
+			console.warn( 'THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.' );
+		}
+	},
+	onUpdate: {
+		value: function () {
+			console.warn( 'THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.' );
+			return this;
+		}
+	}
+} );
+
+//
+
 Object.assign( WebGLRenderer.prototype, {
 	supportsFloatTextures: function () {
 		console.warn( 'THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( \'OES_texture_float\' ).' );

+ 0 - 18
src/core/Uniform.js

@@ -13,24 +13,6 @@ function Uniform( value ) {
 
 	this.value = value;
 
-	this.dynamic = false;
-
 }
 
-Uniform.prototype = {
-
-	constructor: Uniform,
-
-	onUpdate: function ( callback ) {
-
-		this.dynamic = true;
-		this.onUpdateCallback = callback;
-
-		return this;
-
-	}
-
-};
-
-
 export { Uniform };

+ 0 - 14
src/renderers/WebGLRenderer.js

@@ -1677,8 +1677,6 @@ function WebGLRenderer( parameters ) {
 					WebGLUniforms.seqWithValue( progUniforms.seq, uniforms );
 
 		materialProperties.uniformsList = uniformsList;
-		materialProperties.dynamicUniforms =
-				WebGLUniforms.splitDynamic( uniformsList, uniforms );
 
 	}
 
@@ -1967,18 +1965,6 @@ function WebGLRenderer( parameters ) {
 		p_uniforms.set( _gl, object, 'normalMatrix' );
 		p_uniforms.setValue( _gl, 'modelMatrix', object.matrixWorld );
 
-
-		// dynamic uniforms
-
-		var dynUniforms = materialProperties.dynamicUniforms;
-
-		if ( dynUniforms !== null ) {
-
-			WebGLUniforms.evalDynamic( dynUniforms, m_uniforms, object, material, camera );
-			WebGLUniforms.upload( _gl, dynUniforms, m_uniforms, _this );
-
-		}
-
 		return program;
 
 	}

+ 0 - 49
src/renderers/webgl/WebGLUniforms.js

@@ -30,10 +30,6 @@
  *
  * 		filters 'seq' entries with corresponding entry in values
  *
- * .splitDynamic( seq, values ) : filteredSeq
- *
- * 		filters 'seq' entries with dynamic entry and removes them from 'seq'
- *
  *
  * Methods of the top-level container (renderer factorizations):
  *
@@ -543,49 +539,4 @@ WebGLUniforms.seqWithValue = function( seq, values ) {
 
 };
 
-WebGLUniforms.splitDynamic = function( seq, values ) {
-
-	var r = null,
-		n = seq.length,
-		w = 0;
-
-	for ( var i = 0; i !== n; ++ i ) {
-
-		var u = seq[ i ],
-			v = values[ u.id ];
-
-		if ( v && v.dynamic === true ) {
-
-			if ( r === null ) r = [];
-			r.push( u );
-
-		} else {
-
-			// in-place compact 'seq', removing the matches
-			if ( w < i ) seq[ w ] = u;
-			++ w;
-
-		}
-
-	}
-
-	if ( w < n ) seq.length = w;
-
-	return r;
-
-};
-
-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, material, camera );
-
-	}
-
-};
-
 export { WebGLUniforms };