Преглед изворни кода

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 година
родитељ
комит
05437e236e
1 измењених фајлова са 4 додато и 4 уклоњено
  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;