From d548b966bd14acddef9d74d38f36220536f3a28c Mon Sep 17 00:00:00 2001 From: Fohlen <3730888+Fohlen@users.noreply.github.com> Date: Sat, 17 Apr 2021 22:09:20 +0200 Subject: [PATCH] Add support for texturePath to MTLLoader and fix crossOrigin problems. --- js/MTLLoader.js | 3 ++- js/ObjViewer.js | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/js/MTLLoader.js b/js/MTLLoader.js index 8a495b8..09778a8 100755 --- a/js/MTLLoader.js +++ b/js/MTLLoader.js @@ -539,7 +539,8 @@ THREE.MTLLoader.MaterialCreator.prototype = { } - if ( loader.setCrossOrigin ) loader.setCrossOrigin( this.crossOrigin ); + const crossOrigin = this.__proto__.crossOrigin || this.crossOrigin + if ( loader.setCrossOrigin ) loader.setCrossOrigin( crossOrigin ); texture = loader.load( url, onLoad, onProgress, onError ); if ( mapping !== undefined ) texture.mapping = mapping; diff --git a/js/ObjViewer.js b/js/ObjViewer.js index bebdf03..f57bd69 100755 --- a/js/ObjViewer.js +++ b/js/ObjViewer.js @@ -180,11 +180,13 @@ class ObjViewer { * Initialize the mtl-loader * * @param {string} [path=this.files.mtl.path] The base-path to set, where later the files are located. + * @param {string} [path=this.files.mtl.texturePath || this.files.mtl.path] The base-texture path to set, where later the files are located * @return {void} */ - initMtl(path = this.files.mtl.path) { + initMtl(path = this.files.mtl.path, texturePath = this.files.mtl.texturePath || this.files.mtl.path) { this.mtlLoader = new THREE.MTLLoader(); this.mtlLoader.setPath(path); + this.mtlLoader.setTexturePath(texturePath); } /**