Prechádzať zdrojové kódy

Update Lensflare.js to properly dispose textures

Update Lensflare.js so to be able to properly dispose the textures otherwise we have memory issues...

In order to properly dispose the textures added into the Lensflare ( new THREE.Lensflare()  ) by the ( new THREE.LensflareElement() ) we must place them into the object. So then we can do for example:

for( var i = scene.children.length - 1; i >= 0; i-- ) {
  for( var j = 0, n = scene.children[i].elements.length; j <n; j++ ){
    scene.children[i].elements[m].texture.dispose();
  }
}
John Barounis 7 rokov pred
rodič
commit
05437e236e
1 zmenil súbory, kde vykonal 4 pridanie a 4 odobranie
  1. 4 4
      examples/js/objects/Lensflare.js

+ 4 - 4
examples/js/objects/Lensflare.js

@@ -127,7 +127,7 @@ THREE.Lensflare = function () {
 
 	//
 
-	var elements = [];
+	this.elements = [];
 
 	var shader = THREE.LensflareElement.Shader;
 
@@ -150,7 +150,7 @@ THREE.Lensflare = function () {
 
 	this.addElement = function ( element ) {
 
-		elements.push( element );
+		this.elements.push( element );
 
 	};
 
@@ -220,9 +220,9 @@ THREE.Lensflare = function () {
 			var vecX = - positionScreen.x * 2;
 			var vecY = - positionScreen.y * 2;
 
-			for ( var i = 0, l = elements.length; i < l; i ++ ) {
+			for ( var i = 0, l = this.elements.length; i < l; i ++ ) {
 
-				var element = elements[ i ];
+				var element = this.elements[ i ];
 
 				var uniforms = material2.uniforms;