Просмотр исходного кода

Merge pull request #14780 from WestLangley/dev-pmrem_dispose

Examples: PMREM clean up
Mr.doob 7 лет назад
Родитель
Сommit
ab5f390330

+ 4 - 2
examples/js/loaders/sea3d/SEA3DLoader.js

@@ -2418,12 +2418,14 @@ THREE.SEA3D.prototype.readCubeMapURL = function ( sea ) {
 				var pmremCubeUVPacker = new THREE.PMREMCubeUVPacker( pmremGenerator.cubeLods );
 				pmremCubeUVPacker.update( this.config.renderer );
 
-				texture.dispose();
-
 				this.objects[ "cmap/" + sea.name ] = sea.tag = pmremCubeUVPacker.CubeUVRenderTarget.texture;
 
 				this.file.resume = true;
 
+				texture.dispose();
+				pmremGenerator.dispose();
+				pmremCubeUVPacker.dispose();
+
 			}
 
 		}.bind( this ) );

+ 4 - 0
examples/webgl_materials_reflectivity.html

@@ -166,6 +166,10 @@
 					gemFrontMaterial.envMap = gemBackMaterial.envMap = hdrCubeRenderTarget.texture;
 					gemFrontMaterial.needsUpdate = gemBackMaterial.needsUpdate = true;
 
+					hdrCubeMap.dispose();
+					pmremGenerator.dispose();
+					pmremCubeUVPacker.dispose();
+
 				} );
 
 

+ 6 - 1
examples/webgl_materials_variations_physical.html

@@ -143,7 +143,12 @@
 						index ++;
 
 					}
-				});
+
+					hdrCubeMap.dispose();
+					pmremGenerator.dispose();
+					pmremCubeUVPacker.dispose();
+
+				} );
 
 				function addLabel( name, location ) {
 

+ 6 - 1
examples/webgl_materials_variations_standard.html

@@ -147,7 +147,12 @@
 						index ++;
 
 					}
-				});
+
+					hdrCubeMap.dispose();
+					pmremGenerator.dispose();
+					pmremCubeUVPacker.dispose();
+
+				} );
 
 				function addLabel( name, location ) {
 

+ 4 - 0
examples/webgl_tonemapping.html

@@ -171,6 +171,10 @@
 					standardMaterial.envMap = pmremCubeUVPacker.CubeUVRenderTarget.texture;
 					standardMaterial.needsUpdate = true;
 
+					hdrCubeMap.dispose();
+					pmremGenerator.dispose();
+					pmremCubeUVPacker.dispose();
+
 				} );
 
 				// Lights