浏览代码

Material: Removed needsUpdate getter/setter.

Mr.doob 8 年之前
父节点
当前提交
e1be08e4d9
共有 2 个文件被更改,包括 2 次插入37 次删除
  1. 1 13
      examples/js/renderers/SoftwareRenderer.js
  2. 1 24
      src/materials/Material.js

+ 1 - 13
examples/js/renderers/SoftwareRenderer.js

@@ -528,16 +528,6 @@ THREE.SoftwareRenderer = function ( parameters ) {
 
 	}
 
-	function onMaterialUpdate ( event ) {
-
-		var material = event.target;
-
-		material.removeEventListener( 'update', onMaterialUpdate );
-
-		delete shaders[ material.id ];
-
-	}
-
 	function getMaterialShader( material ) {
 
 		var id = material.id;
@@ -545,9 +535,7 @@ THREE.SoftwareRenderer = function ( parameters ) {
 
 		if ( shader && material.map && !textures[ material.map.id ] ) delete shaders[ id ];
 
-		if ( shaders[ id ] === undefined ) {
-
-			material.addEventListener( 'update', onMaterialUpdate );
+		if ( shaders[ id ] === undefined || material.needsUpdate === true ) {
 
 			if ( material instanceof THREE.MeshBasicMaterial ||
 				material instanceof THREE.MeshLambertMaterial ||

+ 1 - 24
src/materials/Material.js

@@ -59,27 +59,10 @@ function Material() {
 
 	this.visible = true;
 
-	this._needsUpdate = true;
+	this.needsUpdate = true;
 
 }
 
-Object.defineProperty( Material.prototype, 'needsUpdate', {
-
-	get: function () {
-
-		return this._needsUpdate;
-
-	},
-
-	set: function ( value ) {
-
-		if ( value === true ) this.update();
-		this._needsUpdate = value;
-
-	}
-
-} );
-
 Object.assign( Material.prototype, EventDispatcher.prototype, {
 
 	isMaterial: true,
@@ -336,12 +319,6 @@ Object.assign( Material.prototype, EventDispatcher.prototype, {
 
 	},
 
-	update: function () {
-
-		this.dispatchEvent( { type: 'update' } );
-
-	},
-
 	dispose: function () {
 
 		this.dispatchEvent( { type: 'dispose' } );