Quellcode durchsuchen

Quick fix to make Editor and examples using BufferGeometry working again after EventTarget changes.

This will need some more thought, before we didn't really do anything about BufferGeometry deallocation.
alteredq vor 12 Jahren
Ursprung
Commit
9d0dfbc566
4 geänderte Dateien mit 34276 neuen und 34260 gelöschten Zeilen
  1. 34132 34124
      build/three.js
  2. 135 135
      build/three.min.js
  3. 8 0
      src/core/BufferGeometry.js
  4. 1 1
      src/renderers/WebGLRenderer.js

Datei-Diff unterdrückt, da er zu groß ist
+ 34132 - 34124
build/three.js


Datei-Diff unterdrückt, da er zu groß ist
+ 135 - 135
build/three.min.js


+ 8 - 0
src/core/BufferGeometry.js

@@ -4,6 +4,8 @@
 
 THREE.BufferGeometry = function () {
 
+	THREE.EventTarget.call( this );
+
 	this.id = THREE.GeometryIdCount ++;
 
 	// attributes
@@ -540,6 +542,12 @@ THREE.BufferGeometry.prototype = {
 		this.hasTangents = true;
 		this.tangentsNeedUpdate = true;
 
+	},
+
+	deallocate: function () {
+
+		this.dispatchEvent( { type: 'deallocate' } );
+
 	}
 
 };

+ 1 - 1
src/renderers/WebGLRenderer.js

@@ -5240,7 +5240,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 		if ( material.needsUpdate ) {
 
-			if ( material.program ) _this.deallocateMaterial( material );
+			if ( material.program ) deallocateMaterial( material );
 
 			_this.initMaterial( material, lights, fog, object );
 			material.needsUpdate = false;

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.