|
@@ -77,13 +77,13 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
var _textureLoader = new THREE.TextureLoader();
|
|
|
var _materialLoader = new THREE.MaterialLoader();
|
|
|
|
|
|
- function initMaterials( materials, texturePath, crossOrigin ) {
|
|
|
+ function initMaterials( materials, texturePath, crossOrigin, manager ) {
|
|
|
|
|
|
var array = [];
|
|
|
|
|
|
for ( var i = 0; i < materials.length; ++ i ) {
|
|
|
|
|
|
- array[ i ] = createMaterial( materials[ i ], texturePath, crossOrigin );
|
|
|
+ array[ i ] = createMaterial( materials[ i ], texturePath, crossOrigin, manager );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -91,7 +91,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
|
|
|
}
|
|
|
|
|
|
- function createMaterial( m, texturePath, crossOrigin ) {
|
|
|
+ function createMaterial( m, texturePath, crossOrigin, manager ) {
|
|
|
|
|
|
// convert from old material format
|
|
|
|
|
@@ -143,7 +143,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
if ( value.toLowerCase() === 'standard' ) json.type = 'MeshStandardMaterial';
|
|
|
break;
|
|
|
case 'mapDiffuse':
|
|
|
- json.map = loadTexture( value, m.mapDiffuseRepeat, m.mapDiffuseOffset, m.mapDiffuseWrap, m.mapDiffuseAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.map = loadTexture( value, m.mapDiffuseRepeat, m.mapDiffuseOffset, m.mapDiffuseWrap, m.mapDiffuseAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapDiffuseRepeat':
|
|
|
case 'mapDiffuseOffset':
|
|
@@ -151,7 +151,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
case 'mapDiffuseAnisotropy':
|
|
|
break;
|
|
|
case 'mapEmissive':
|
|
|
- json.emissiveMap = loadTexture( value, m.mapEmissiveRepeat, m.mapEmissiveOffset, m.mapEmissiveWrap, m.mapEmissiveAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.emissiveMap = loadTexture( value, m.mapEmissiveRepeat, m.mapEmissiveOffset, m.mapEmissiveWrap, m.mapEmissiveAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapEmissiveRepeat':
|
|
|
case 'mapEmissiveOffset':
|
|
@@ -159,7 +159,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
case 'mapEmissiveAnisotropy':
|
|
|
break;
|
|
|
case 'mapLight':
|
|
|
- json.lightMap = loadTexture( value, m.mapLightRepeat, m.mapLightOffset, m.mapLightWrap, m.mapLightAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.lightMap = loadTexture( value, m.mapLightRepeat, m.mapLightOffset, m.mapLightWrap, m.mapLightAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapLightRepeat':
|
|
|
case 'mapLightOffset':
|
|
@@ -167,7 +167,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
case 'mapLightAnisotropy':
|
|
|
break;
|
|
|
case 'mapAO':
|
|
|
- json.aoMap = loadTexture( value, m.mapAORepeat, m.mapAOOffset, m.mapAOWrap, m.mapAOAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.aoMap = loadTexture( value, m.mapAORepeat, m.mapAOOffset, m.mapAOWrap, m.mapAOAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapAORepeat':
|
|
|
case 'mapAOOffset':
|
|
@@ -175,7 +175,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
case 'mapAOAnisotropy':
|
|
|
break;
|
|
|
case 'mapBump':
|
|
|
- json.bumpMap = loadTexture( value, m.mapBumpRepeat, m.mapBumpOffset, m.mapBumpWrap, m.mapBumpAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.bumpMap = loadTexture( value, m.mapBumpRepeat, m.mapBumpOffset, m.mapBumpWrap, m.mapBumpAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapBumpScale':
|
|
|
json.bumpScale = value;
|
|
@@ -186,7 +186,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
case 'mapBumpAnisotropy':
|
|
|
break;
|
|
|
case 'mapNormal':
|
|
|
- json.normalMap = loadTexture( value, m.mapNormalRepeat, m.mapNormalOffset, m.mapNormalWrap, m.mapNormalAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.normalMap = loadTexture( value, m.mapNormalRepeat, m.mapNormalOffset, m.mapNormalWrap, m.mapNormalAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapNormalFactor':
|
|
|
json.normalScale = value;
|
|
@@ -197,7 +197,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
case 'mapNormalAnisotropy':
|
|
|
break;
|
|
|
case 'mapSpecular':
|
|
|
- json.specularMap = loadTexture( value, m.mapSpecularRepeat, m.mapSpecularOffset, m.mapSpecularWrap, m.mapSpecularAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.specularMap = loadTexture( value, m.mapSpecularRepeat, m.mapSpecularOffset, m.mapSpecularWrap, m.mapSpecularAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapSpecularRepeat':
|
|
|
case 'mapSpecularOffset':
|
|
@@ -205,7 +205,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
case 'mapSpecularAnisotropy':
|
|
|
break;
|
|
|
case 'mapMetalness':
|
|
|
- json.metalnessMap = loadTexture( value, m.mapMetalnessRepeat, m.mapMetalnessOffset, m.mapMetalnessWrap, m.mapMetalnessAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.metalnessMap = loadTexture( value, m.mapMetalnessRepeat, m.mapMetalnessOffset, m.mapMetalnessWrap, m.mapMetalnessAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapMetalnessRepeat':
|
|
|
case 'mapMetalnessOffset':
|
|
@@ -213,7 +213,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
case 'mapMetalnessAnisotropy':
|
|
|
break;
|
|
|
case 'mapRoughness':
|
|
|
- json.roughnessMap = loadTexture( value, m.mapRoughnessRepeat, m.mapRoughnessOffset, m.mapRoughnessWrap, m.mapRoughnessAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.roughnessMap = loadTexture( value, m.mapRoughnessRepeat, m.mapRoughnessOffset, m.mapRoughnessWrap, m.mapRoughnessAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapRoughnessRepeat':
|
|
|
case 'mapRoughnessOffset':
|
|
@@ -221,7 +221,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
case 'mapRoughnessAnisotropy':
|
|
|
break;
|
|
|
case 'mapAlpha':
|
|
|
- json.alphaMap = loadTexture( value, m.mapAlphaRepeat, m.mapAlphaOffset, m.mapAlphaWrap, m.mapAlphaAnisotropy, textures, texturePath, crossOrigin );
|
|
|
+ json.alphaMap = loadTexture( value, m.mapAlphaRepeat, m.mapAlphaOffset, m.mapAlphaWrap, m.mapAlphaAnisotropy, textures, texturePath, crossOrigin, manager );
|
|
|
break;
|
|
|
case 'mapAlphaRepeat':
|
|
|
case 'mapAlphaOffset':
|
|
@@ -271,10 +271,10 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
|
|
|
}
|
|
|
|
|
|
- function loadTexture( path, repeat, offset, wrap, anisotropy, textures, texturePath, crossOrigin ) {
|
|
|
+ function loadTexture( path, repeat, offset, wrap, anisotropy, textures, texturePath, crossOrigin, manager ) {
|
|
|
|
|
|
var fullPath = texturePath + path;
|
|
|
- var loader = THREE.Loader.Handlers.get( fullPath );
|
|
|
+ var loader = manager.getHandler( fullPath );
|
|
|
|
|
|
var texture;
|
|
|
|
|
@@ -804,7 +804,7 @@ THREE.LegacyJSONLoader = ( function () {
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- var materials = initMaterials( json.materials, this.resourcePath || path, this.crossOrigin );
|
|
|
+ var materials = initMaterials( json.materials, this.resourcePath || path, this.crossOrigin, this.manager );
|
|
|
|
|
|
return { geometry: geometry, materials: materials };
|
|
|
|