فهرست منبع

Editor: Avoid running out of webgl contexts.

Mr.doob 5 سال پیش
والد
کامیت
e1d00b93f6
1فایلهای تغییر یافته به همراه6 افزوده شده و 15 حذف شده
  1. 6 15
      editor/js/libs/app.js

+ 6 - 15
editor/js/libs/app.js

@@ -8,12 +8,17 @@ var APP = {
 
 		window.THREE = THREE; // FIX for editor scripts (they require THREE in global namespace)
 
+		var renderer = new THREE.WebGLRenderer( { antialias: true } );
+		renderer.setPixelRatio( window.devicePixelRatio );
+		renderer.outputEncoding = THREE.sRGBEncoding;
+
 		var loader = new THREE.ObjectLoader();
-		var camera, scene, renderer;
+		var camera, scene;
 
 		var events = {};
 
 		var dom = document.createElement( 'div' );
+		dom.appendChild( renderer.domElement );
 
 		this.dom = dom;
 
@@ -22,18 +27,11 @@ var APP = {
 
 		this.load = function ( json ) {
 
-			renderer = new THREE.WebGLRenderer( { antialias: true } );
-			renderer.outputEncoding = THREE.sRGBEncoding;
-			renderer.setClearColor( 0x000000 );
-			renderer.setPixelRatio( window.devicePixelRatio );
-
 			var project = json.project;
 
 			if ( project.shadows ) renderer.shadowMap.enabled = true;
 			if ( project.vr ) renderer.xr.enabled = true;
 
-			dom.appendChild( renderer.domElement );
-
 			this.setScene( loader.parse( json.scene ) );
 			this.setCamera( loader.parse( json.camera ) );
 
@@ -210,17 +208,10 @@ var APP = {
 
 		this.dispose = function () {
 
-			while ( dom.children.length ) {
-
-				dom.removeChild( dom.firstChild );
-
-			}
-
 			renderer.dispose();
 
 			camera = undefined;
 			scene = undefined;
-			renderer = undefined;
 
 		};