提交 c41288c7 编写于 作者: A alteredq

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

上级 d0593850
......@@ -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 );
......
......@@ -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 );
}
......
......@@ -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 );
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册