瀏覽代碼

Refactored CTMLoader parameters passing to make it easier to handle in SceneLoader.

alteredq 13 年之前
父節點
當前提交
c41288c7f2
共有 3 個文件被更改,包括 15 次插入17 次删除
  1. 9 8
      examples/js/loaders/ctm/CTMLoader.js
  2. 4 6
      examples/webgl_loader_ctm.html
  3. 2 3
      examples/webgl_loader_ctm_materials.html

+ 9 - 8
examples/js/loaders/ctm/CTMLoader.js

@@ -18,13 +18,13 @@ THREE.CTMLoader.prototype = Object.create( THREE.Loader.prototype );
 
 // Load multiple CTM parts defined in JSON
 
-THREE.CTMLoader.prototype.loadParts = function( url, callback, useWorker, useBuffers, basePath ) {
+THREE.CTMLoader.prototype.loadParts = function( url, callback, parameters ) {
 
 	var scope = this;
 
 	var xhr = new XMLHttpRequest();
 
-	basePath = basePath ? basePath : this.extractUrlBase( url );
+	var basePath = parameters.basePath ? parameters.basePath : this.extractUrlBase( url );
 
 	xhr.onreadystatechange = function() {
 
@@ -62,7 +62,8 @@ THREE.CTMLoader.prototype.loadParts = function( url, callback, useWorker, useBuf
 				// load joined CTM file
 
 				var partUrl = basePath + jsonObject.data;
-				scope.load( partUrl, callbackFinal, useWorker, useBuffers, jsonObject.offsets );
+				var parametersPart = { useWorker: parameters.useWorker, useBuffers: parameters.useBuffers, offsets: jsonObject.offsets };
+				scope.load( partUrl, callbackFinal, parametersPart );
 
 			}
 
@@ -82,11 +83,11 @@ THREE.CTMLoader.prototype.loadParts = function( url, callback, useWorker, useBuf
 //		- url (required)
 //		- callback (required)
 
-THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers, offsets ) {
+THREE.CTMLoader.prototype.load = function( url, callback, parameters ) {
 
 	var scope = this;
 
-	offsets = offsets !== undefined ? offsets : [ 0 ];
+	var offsets = parameters.offsets !== undefined ? parameters.offsets : [ 0 ];
 
 	var xhr = new XMLHttpRequest(),
 		callbackProgress = null;
@@ -103,7 +104,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers,
 
 				//var s = Date.now();
 
-				if ( useWorker ) {
+				if ( parameters.useWorker ) {
 
 					var worker = new Worker( "js/loaders/ctm/CTMWorker.js" );
 
@@ -115,7 +116,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers,
 
 							var ctmFile = files[ i ];
 
-							if ( useBuffers ) {
+							if ( parameters.useBuffers ) {
 
 								scope.createModelBuffers( ctmFile, callback );
 
@@ -144,7 +145,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers,
 
 						var ctmFile = new CTM.File( stream );
 
-						if ( useBuffers ) {
+						if ( parameters.useBuffers ) {
 
 							scope.createModelBuffers( ctmFile, callback );
 

+ 4 - 6
examples/webgl_loader_ctm.html

@@ -155,9 +155,7 @@
 
 				}
 
-				var useWorker = true;
-				var useBuffers = true;
-
+				var parameters = { useWorker: true, useBuffers: true };
 				var loader = new THREE.CTMLoader();
 
 				loader.load( "models/ctm/ben.ctm",   function( geometry ) {
@@ -166,7 +164,7 @@
 					callbackModel( geometry, 450, material, 0, -200, 0, 0, 0 );
 					checkTime();
 
-				}, useWorker, useBuffers );
+				}, parameters );
 
 				loader.load( "models/ctm/WaltHead.ctm",  function( geometry ) {
 
@@ -180,7 +178,7 @@
 
 					checkTime();
 
-				}, useWorker, useBuffers );
+				}, parameters );
 
 				loader.load( "models/ctm/LeePerry.ctm",  function( geometry ) {
 
@@ -222,7 +220,7 @@
 					callbackModel( geometry, 1300, material, 200, 50, 0, 0, 0 );
 					checkTime();
 
-				}, useWorker, useBuffers );
+				}, parameters );
 
 			}
 

+ 2 - 3
examples/webgl_loader_ctm_materials.html

@@ -196,8 +196,7 @@
 */
 				// new way via CTMLoader and separate parts
 
-				var useWorker = true,
-					useBuffers = true;
+				var parameters = { useWorker: true,	useBuffers: true };
 
 				loaderCTM = new THREE.CTMLoader( true );
 				document.body.appendChild( loaderCTM.statusDomElement );
@@ -224,7 +223,7 @@
 
 					console.log( "load time:", end - start, "ms" );
 
-				}, useWorker, useBuffers );
+				}, parameters );
 
 			}