@galacean/engine-loader 1.0.0-beta.1 → 1.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +151 -78
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +151 -78
- package/dist/module.js +153 -80
- package/dist/module.js.map +1 -1
- package/package.json +5 -5
- package/types/GLTFContentRestorer.d.ts +1 -1
- package/types/gltf/GLTFResource.d.ts +3 -0
- package/types/gltf/GLTFUtil.d.ts +1 -1
- package/types/gltf/GLTFUtils.d.ts +1 -1
- package/types/gltf/extensions/GLTFExtensionSchema.d.ts +1 -1
- package/types/gltf/extensions/KHR_materials_ior.d.ts +1 -0
- package/types/gltf/extensions/index.d.ts +1 -0
- package/types/gltf/parser/GLTFMeshParser.d.ts +1 -1
- package/types/gltf/parser/GLTFParser.d.ts +1 -1
- package/types/gltf/parser/GLTFParserContext.d.ts +1 -1
- package/types/resource-deserialize/index.d.ts +3 -3
- package/types/resource-deserialize/resources/mesh/MeshDecoder.d.ts +1 -1
- package/types/resource-deserialize/resources/parser/PrefabParser.d.ts +5 -0
- package/types/resource-deserialize/resources/parser/ReflectionParser.d.ts +14 -0
- package/types/resource-deserialize/resources/scene/SceneParser.d.ts +1 -1
- package/types/resource-deserialize/resources/scene/SceneParserContext.d.ts +1 -1
- package/types/resource-deserialize/resources/schema/BasicSchema.d.ts +61 -0
- package/types/resource-deserialize/resources/schema/MaterialSchema.d.ts +91 -0
- package/types/resource-deserialize/resources/schema/SceneSchema.d.ts +41 -0
- package/types/resource-deserialize/resources/schema/index.d.ts +3 -0
package/dist/main.js
CHANGED
|
@@ -1823,21 +1823,31 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
1823
1823
|
var vertexCount;
|
|
1824
1824
|
var bufferBindIndex = 0;
|
|
1825
1825
|
var positions;
|
|
1826
|
-
|
|
1826
|
+
var boneIndices;
|
|
1827
|
+
var boneWeights;
|
|
1828
|
+
if (keepMeshData) {
|
|
1829
|
+
positions = new Array(vertexCount);
|
|
1830
|
+
boneIndices = new Array(vertexCount);
|
|
1831
|
+
boneWeights = new Array(vertexCount);
|
|
1832
|
+
}
|
|
1827
1833
|
for(var attribute in attributes){
|
|
1828
1834
|
var accessor = accessors[attributes[attribute]];
|
|
1829
1835
|
var accessorBuffer = GLTFUtils.getAccessorBuffer(context, gltf.bufferViews, accessor);
|
|
1830
1836
|
var dataElementSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
1831
|
-
var
|
|
1837
|
+
var accessorCount = accessor.count;
|
|
1832
1838
|
var vertices = accessorBuffer.data;
|
|
1833
1839
|
var vertexElement = void 0;
|
|
1834
1840
|
var meshId = mesh.instanceId;
|
|
1835
1841
|
var vertexBindingInfos = accessorBuffer.vertexBindingInfos;
|
|
1836
|
-
var
|
|
1842
|
+
var elementNormalized = accessor.normalized;
|
|
1843
|
+
var elementFormat = GLTFUtils.getElementFormat(accessor.componentType, dataElementSize, elementNormalized);
|
|
1844
|
+
var scaleFactor = void 0;
|
|
1845
|
+
elementNormalized && (scaleFactor = GLTFUtils.getNormalizedComponentScale(accessor.componentType));
|
|
1846
|
+
var elementOffset = void 0;
|
|
1837
1847
|
if (accessorBuffer.interleaved) {
|
|
1838
1848
|
var byteOffset = accessor.byteOffset || 0;
|
|
1839
1849
|
var stride = accessorBuffer.stride;
|
|
1840
|
-
|
|
1850
|
+
elementOffset = byteOffset % stride;
|
|
1841
1851
|
if (vertexBindingInfos[meshId] === undefined) {
|
|
1842
1852
|
vertexElement = new engineCore.VertexElement(attribute, elementOffset, elementFormat, bufferBindIndex);
|
|
1843
1853
|
var vertexBuffer = accessorBuffer.vertexBuffer;
|
|
@@ -1853,7 +1863,8 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
1853
1863
|
vertexElement = new engineCore.VertexElement(attribute, elementOffset, elementFormat, vertexBindingInfos[meshId]);
|
|
1854
1864
|
}
|
|
1855
1865
|
} else {
|
|
1856
|
-
|
|
1866
|
+
elementOffset = 0;
|
|
1867
|
+
vertexElement = new engineCore.VertexElement(attribute, elementOffset, elementFormat, bufferBindIndex);
|
|
1857
1868
|
var vertexBuffer1 = new engineCore.Buffer(engine, engineCore.BufferBindFlag.VertexBuffer, vertices.byteLength, engineCore.BufferUsage.Static);
|
|
1858
1869
|
vertexBuffer1.setData(vertices);
|
|
1859
1870
|
meshRestoreInfo.vertexBuffers.push(new BufferRestoreInfo(vertexBuffer1, accessorBuffer.restoreInfo));
|
|
@@ -1862,35 +1873,61 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
1862
1873
|
}
|
|
1863
1874
|
vertexElements.push(vertexElement);
|
|
1864
1875
|
if (attribute === "POSITION") {
|
|
1865
|
-
vertexCount =
|
|
1876
|
+
vertexCount = accessorCount;
|
|
1866
1877
|
var _mesh_bounds = mesh.bounds, min = _mesh_bounds.min, max = _mesh_bounds.max;
|
|
1867
1878
|
if (accessor.min && accessor.max) {
|
|
1868
1879
|
min.copyFromArray(accessor.min);
|
|
1869
1880
|
max.copyFromArray(accessor.max);
|
|
1870
1881
|
if (keepMeshData) {
|
|
1871
|
-
var
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1882
|
+
var baseOffset = elementOffset / vertices.BYTES_PER_ELEMENT;
|
|
1883
|
+
var stride1 = vertices.length / accessorCount;
|
|
1884
|
+
for(var j = 0; j < accessorCount; j++){
|
|
1885
|
+
var offset = baseOffset + j * stride1;
|
|
1886
|
+
var position = new engineMath.Vector3(vertices[offset], vertices[offset + 1], vertices[offset + 2]);
|
|
1887
|
+
elementNormalized && position.scale(scaleFactor);
|
|
1888
|
+
positions[j] = position;
|
|
1875
1889
|
}
|
|
1876
1890
|
}
|
|
1877
1891
|
} else {
|
|
1878
|
-
var
|
|
1892
|
+
var position1 = GLTFMeshParser._tempVector3;
|
|
1879
1893
|
min.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
1880
1894
|
max.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
|
|
1881
|
-
var
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
engineMath.Vector3.
|
|
1895
|
+
var baseOffset1 = elementOffset / vertices.BYTES_PER_ELEMENT;
|
|
1896
|
+
var stride2 = vertices.length / accessorCount;
|
|
1897
|
+
for(var j1 = 0; j1 < accessorCount; j1++){
|
|
1898
|
+
var offset1 = baseOffset1 + j1 * stride2;
|
|
1899
|
+
position1.copyFromArray(vertices, offset1);
|
|
1900
|
+
engineMath.Vector3.min(min, position1, min);
|
|
1901
|
+
engineMath.Vector3.max(max, position1, max);
|
|
1902
|
+
if (keepMeshData) {
|
|
1903
|
+
var clonePosition = position1.clone();
|
|
1904
|
+
elementNormalized && clonePosition.scale(scaleFactor);
|
|
1905
|
+
positions[j1] = clonePosition;
|
|
1906
|
+
}
|
|
1887
1907
|
}
|
|
1888
1908
|
}
|
|
1889
|
-
if (
|
|
1890
|
-
var scaleFactor = GLTFUtils.getNormalizedComponentScale(accessor.componentType);
|
|
1909
|
+
if (elementNormalized) {
|
|
1891
1910
|
min.scale(scaleFactor);
|
|
1892
1911
|
max.scale(scaleFactor);
|
|
1893
1912
|
}
|
|
1913
|
+
} else if (attribute === "JOINTS_0" && keepMeshData) {
|
|
1914
|
+
var baseOffset2 = elementOffset / vertices.BYTES_PER_ELEMENT;
|
|
1915
|
+
var stride3 = vertices.length / accessorCount;
|
|
1916
|
+
for(var j2 = 0; j2 < accessorCount; j2++){
|
|
1917
|
+
var offset2 = baseOffset2 + j2 * stride3;
|
|
1918
|
+
var boneIndex = new engineMath.Vector4(vertices[offset2], vertices[offset2 + 1], vertices[offset2 + 2], vertices[offset2 + 3]);
|
|
1919
|
+
elementNormalized && boneIndex.scale(scaleFactor);
|
|
1920
|
+
boneIndices[j2] = boneIndex;
|
|
1921
|
+
}
|
|
1922
|
+
} else if (attribute === "WEIGHTS_0" && keepMeshData) {
|
|
1923
|
+
var baseOffset3 = elementOffset / vertices.BYTES_PER_ELEMENT;
|
|
1924
|
+
var stride4 = vertices.length / accessorCount;
|
|
1925
|
+
for(var j3 = 0; j3 < accessorCount; j3++){
|
|
1926
|
+
var offset3 = baseOffset3 + j3 * stride4;
|
|
1927
|
+
var boneWeight = new engineMath.Vector4(vertices[offset3], vertices[offset3 + 1], vertices[offset3 + 2], vertices[offset3 + 3]);
|
|
1928
|
+
elementNormalized && boneWeight.scale(scaleFactor);
|
|
1929
|
+
boneWeights[j3] = boneWeight;
|
|
1930
|
+
}
|
|
1894
1931
|
}
|
|
1895
1932
|
}
|
|
1896
1933
|
mesh.setVertexElements(vertexElements);
|
|
@@ -1909,6 +1946,10 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
1909
1946
|
mesh.uploadData(!keepMeshData);
|
|
1910
1947
|
//@ts-ignore
|
|
1911
1948
|
mesh._positions = positions;
|
|
1949
|
+
//@ts-ignore
|
|
1950
|
+
mesh._boneIndices = boneIndices;
|
|
1951
|
+
//@ts-ignore
|
|
1952
|
+
mesh._boneWeights = boneWeights;
|
|
1912
1953
|
return Promise.resolve(mesh);
|
|
1913
1954
|
};
|
|
1914
1955
|
/**
|
|
@@ -1999,14 +2040,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
1999
2040
|
camera.enabled = false;
|
|
2000
2041
|
};
|
|
2001
2042
|
_proto._createRenderer = function _createRenderer(context, glTFNode, entity) {
|
|
2002
|
-
var
|
|
2003
|
-
var glTFMeshes = glTF.meshes;
|
|
2004
|
-
var engine = glTFResource.engine, meshes = glTFResource.meshes, materials = glTFResource.materials, skins = glTFResource.skins;
|
|
2005
|
-
var meshID = glTFNode.mesh, skinID = glTFNode.skin;
|
|
2006
|
-
var glTFMesh = glTFMeshes[meshID];
|
|
2007
|
-
var glTFMeshPrimitives = glTFMesh.primitives;
|
|
2008
|
-
var blendShapeWeights = glTFNode.weights || glTFMesh.weights;
|
|
2009
|
-
for(var i = 0; i < glTFMeshPrimitives.length; i++){
|
|
2043
|
+
var _loop = function(i) {
|
|
2010
2044
|
var gltfPrimitive = glTFMeshPrimitives[i];
|
|
2011
2045
|
var mesh = meshes[meshID][i];
|
|
2012
2046
|
var renderer = void 0;
|
|
@@ -2028,8 +2062,22 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
2028
2062
|
var materialIndex = gltfPrimitive.material;
|
|
2029
2063
|
var material = (materials == null ? void 0 : materials[materialIndex]) || GLTFSceneParser._getDefaultMaterial(engine);
|
|
2030
2064
|
renderer.setMaterial(material);
|
|
2065
|
+
// Enable vertex color if mesh has COLOR_0 vertex element
|
|
2066
|
+
mesh.vertexElements.forEach(function(element) {
|
|
2067
|
+
if (element.semantic === "COLOR_0") {
|
|
2068
|
+
renderer.enableVertexColor = true;
|
|
2069
|
+
}
|
|
2070
|
+
});
|
|
2031
2071
|
GLTFParser.executeExtensionsAdditiveAndParse(gltfPrimitive.extensions, context, renderer, gltfPrimitive);
|
|
2032
|
-
}
|
|
2072
|
+
};
|
|
2073
|
+
var glTFResource = context.glTFResource, glTF = context.glTF;
|
|
2074
|
+
var glTFMeshes = glTF.meshes;
|
|
2075
|
+
var engine = glTFResource.engine, meshes = glTFResource.meshes, materials = glTFResource.materials, skins = glTFResource.skins;
|
|
2076
|
+
var meshID = glTFNode.mesh, skinID = glTFNode.skin;
|
|
2077
|
+
var glTFMesh = glTFMeshes[meshID];
|
|
2078
|
+
var glTFMeshPrimitives = glTFMesh.primitives;
|
|
2079
|
+
var blendShapeWeights = glTFNode.weights || glTFMesh.weights;
|
|
2080
|
+
for(var i = 0; i < glTFMeshPrimitives.length; i++)_loop(i);
|
|
2033
2081
|
};
|
|
2034
2082
|
_proto._createAnimator = function _createAnimator(context) {
|
|
2035
2083
|
if (!context.hasSkinned && !context.glTFResource.animations) {
|
|
@@ -2327,7 +2375,9 @@ var GLTFValidator = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
2327
2375
|
return _this;
|
|
2328
2376
|
}
|
|
2329
2377
|
var _proto = GLTFResource.prototype;
|
|
2330
|
-
|
|
2378
|
+
/**
|
|
2379
|
+
* @internal
|
|
2380
|
+
*/ _proto._onDestroy = function _onDestroy() {
|
|
2331
2381
|
EngineObject.prototype._onDestroy.call(this);
|
|
2332
2382
|
this.defaultSceneRoot.destroy();
|
|
2333
2383
|
this.textures = null;
|
|
@@ -2975,6 +3025,15 @@ KTXLoader = __decorate([
|
|
|
2975
3025
|
])
|
|
2976
3026
|
], KTXLoader);
|
|
2977
3027
|
|
|
3028
|
+
function parseProperty(object, key, value) {
|
|
3029
|
+
if (typeof value === "object") {
|
|
3030
|
+
for(var subKey in value){
|
|
3031
|
+
parseProperty(object[key], subKey, value[subKey]);
|
|
3032
|
+
}
|
|
3033
|
+
} else {
|
|
3034
|
+
object[key] = value;
|
|
3035
|
+
}
|
|
3036
|
+
}
|
|
2978
3037
|
var MaterialLoader = /*#__PURE__*/ function(Loader) {
|
|
2979
3038
|
_inherits(MaterialLoader, Loader);
|
|
2980
3039
|
function MaterialLoader() {
|
|
@@ -2986,7 +3045,7 @@ var MaterialLoader = /*#__PURE__*/ function(Loader) {
|
|
|
2986
3045
|
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
2987
3046
|
_this.request(item.url, _extends({}, item, {
|
|
2988
3047
|
type: "json"
|
|
2989
|
-
})).then(function(
|
|
3048
|
+
})).then(function(materialSchema) {
|
|
2990
3049
|
var _loop = function(key) {
|
|
2991
3050
|
var _shaderData_key = shaderData[key], type = _shaderData_key.type, value = _shaderData_key.value;
|
|
2992
3051
|
switch(type){
|
|
@@ -3014,27 +3073,8 @@ var MaterialLoader = /*#__PURE__*/ function(Loader) {
|
|
|
3014
3073
|
}
|
|
3015
3074
|
};
|
|
3016
3075
|
var engine = resourceManager.engine;
|
|
3017
|
-
var name =
|
|
3018
|
-
var material;
|
|
3019
|
-
switch(shader){
|
|
3020
|
-
case "pbr":
|
|
3021
|
-
material = new engineCore.PBRMaterial(engine);
|
|
3022
|
-
break;
|
|
3023
|
-
case "pbr-specular":
|
|
3024
|
-
material = new engineCore.PBRSpecularMaterial(engine);
|
|
3025
|
-
break;
|
|
3026
|
-
case "unlit":
|
|
3027
|
-
material = new engineCore.UnlitMaterial(engine);
|
|
3028
|
-
break;
|
|
3029
|
-
case "blinn-phong":
|
|
3030
|
-
material = new engineCore.BlinnPhongMaterial(engine);
|
|
3031
|
-
break;
|
|
3032
|
-
case "bake-pbr":
|
|
3033
|
-
// @todo refactor custom shader later
|
|
3034
|
-
// @ts-ignore
|
|
3035
|
-
material = new engineCore.PBRBaseMaterial(engine, engineCore.Shader.find("bake-pbr"));
|
|
3036
|
-
break;
|
|
3037
|
-
}
|
|
3076
|
+
var name = materialSchema.name, shader = materialSchema.shader, shaderData = materialSchema.shaderData, macros = materialSchema.macros, renderState = materialSchema.renderState;
|
|
3077
|
+
var material = new engineCore.Material(engine, engineCore.Shader.find(shader));
|
|
3038
3078
|
material.name = name;
|
|
3039
3079
|
var texturePromises = new Array();
|
|
3040
3080
|
var materialShaderData = material.shaderData;
|
|
@@ -3047,9 +3087,7 @@ var MaterialLoader = /*#__PURE__*/ function(Loader) {
|
|
|
3047
3087
|
materialShaderData.enableMacro(name1, value);
|
|
3048
3088
|
}
|
|
3049
3089
|
}
|
|
3050
|
-
|
|
3051
|
-
material[key1] = renderState[key1];
|
|
3052
|
-
}
|
|
3090
|
+
parseProperty(material, "renderState", renderState);
|
|
3053
3091
|
return Promise.all(texturePromises).then(function() {
|
|
3054
3092
|
resolve(material);
|
|
3055
3093
|
});
|
|
@@ -3804,6 +3842,12 @@ exports.AnimationClipDecoder = __decorate([
|
|
|
3804
3842
|
decoder("AnimationClip")
|
|
3805
3843
|
], exports.AnimationClipDecoder);
|
|
3806
3844
|
|
|
3845
|
+
exports.SpecularMode = void 0;
|
|
3846
|
+
(function(SpecularMode) {
|
|
3847
|
+
SpecularMode["Sky"] = "Sky";
|
|
3848
|
+
SpecularMode["Custom"] = "Custom";
|
|
3849
|
+
})(exports.SpecularMode || (exports.SpecularMode = {}));
|
|
3850
|
+
|
|
3807
3851
|
var SceneParserContext = /*#__PURE__*/ function() {
|
|
3808
3852
|
function SceneParserContext(originalData, scene) {
|
|
3809
3853
|
this.originalData = originalData;
|
|
@@ -4086,7 +4130,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader) {
|
|
|
4086
4130
|
var atlasItem = atlasItems[i];
|
|
4087
4131
|
if (atlasItem.img) {
|
|
4088
4132
|
chainPromises.push(resourceManager.load({
|
|
4089
|
-
url: atlasItem.img,
|
|
4133
|
+
url: engineCore.Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
|
|
4090
4134
|
type: engineCore.AssetType.Texture2D,
|
|
4091
4135
|
params: {
|
|
4092
4136
|
format: format,
|
|
@@ -4362,47 +4406,63 @@ var SceneLoader = /*#__PURE__*/ function(Loader) {
|
|
|
4362
4406
|
// @ts-ignore
|
|
4363
4407
|
engine.resourceManager.initVirtualResources(data.files);
|
|
4364
4408
|
return SceneParser.parse(engine, data).then(function(scene) {
|
|
4409
|
+
var promises = [];
|
|
4365
4410
|
// parse ambient light
|
|
4366
4411
|
var ambient = data.scene.ambient;
|
|
4367
|
-
var
|
|
4368
|
-
if (ambient.
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4412
|
+
var useCustomAmbient = ambient.specularMode === "Custom";
|
|
4413
|
+
if (useCustomAmbient && ambient.customAmbientLight) {
|
|
4414
|
+
// @ts-ignore
|
|
4415
|
+
// prettier-ignore
|
|
4416
|
+
var customAmbientPromise = resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
|
|
4417
|
+
scene.ambientLight = ambientLight;
|
|
4372
4418
|
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
4373
4419
|
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
4420
|
+
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
4421
|
+
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
4374
4422
|
});
|
|
4375
|
-
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
4423
|
+
promises.push(customAmbientPromise);
|
|
4424
|
+
} else if (!useCustomAmbient && ambient.ambientLight) {
|
|
4425
|
+
// @ts-ignore
|
|
4426
|
+
// prettier-ignore
|
|
4427
|
+
var ambientLightPromise = resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
|
|
4428
|
+
scene.ambientLight = ambientLight;
|
|
4429
|
+
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
4430
|
+
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
4431
|
+
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
4432
|
+
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
4433
|
+
});
|
|
4434
|
+
promises.push(ambientLightPromise);
|
|
4379
4435
|
}
|
|
4380
4436
|
var background = data.scene.background;
|
|
4381
4437
|
scene.background.mode = background.mode;
|
|
4382
|
-
var backgroundPromise = Promise.resolve();
|
|
4383
4438
|
switch(scene.background.mode){
|
|
4384
4439
|
case engineCore.BackgroundMode.SolidColor:
|
|
4385
4440
|
scene.background.solidColor.copyFrom(background.color);
|
|
4386
4441
|
break;
|
|
4387
4442
|
case engineCore.BackgroundMode.Sky:
|
|
4388
|
-
if (background.
|
|
4443
|
+
if (background.skyMesh && background.skyMaterial) {
|
|
4389
4444
|
// @ts-ignore
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
var skyMaterial = new engineCore.SkyBoxMaterial(engine);
|
|
4393
|
-
skyMaterial.texture = light.specularTexture;
|
|
4394
|
-
skyMaterial.textureDecodeRGBM = true;
|
|
4395
|
-
sky.material = skyMaterial;
|
|
4396
|
-
sky.mesh = engineCore.PrimitiveMesh.createCuboid(engine, 1, 1, 1);
|
|
4445
|
+
var skyMeshPromise = resourceManager.getResourceByRef(background.skyMesh).then(function(mesh) {
|
|
4446
|
+
scene.background.sky.mesh = mesh;
|
|
4397
4447
|
});
|
|
4448
|
+
// @ts-ignore
|
|
4449
|
+
// prettier-ignore
|
|
4450
|
+
var skyMaterialPromise = resourceManager.getResourceByRef(background.skyMaterial).then(function(material) {
|
|
4451
|
+
scene.background.sky.material = material;
|
|
4452
|
+
});
|
|
4453
|
+
promises.push(skyMeshPromise, skyMaterialPromise);
|
|
4454
|
+
} else {
|
|
4455
|
+
engineCore.Logger.warn("Sky background mode requires skyMesh and skyMaterial");
|
|
4398
4456
|
}
|
|
4399
4457
|
break;
|
|
4400
4458
|
case engineCore.BackgroundMode.Texture:
|
|
4401
4459
|
if (background.texture) {
|
|
4402
4460
|
// @ts-ignore
|
|
4403
|
-
|
|
4461
|
+
// prettier-ignore
|
|
4462
|
+
var backgroundPromise = resourceManager.getResourceByRef(background.texture).then(function(texture) {
|
|
4404
4463
|
scene.background.texture = texture;
|
|
4405
4464
|
});
|
|
4465
|
+
promises.push(backgroundPromise);
|
|
4406
4466
|
}
|
|
4407
4467
|
break;
|
|
4408
4468
|
}
|
|
@@ -4414,10 +4474,7 @@ var SceneLoader = /*#__PURE__*/ function(Loader) {
|
|
|
4414
4474
|
if (shadow.shadowDistance != undefined) scene.shadowDistance = shadow.shadowDistance;
|
|
4415
4475
|
if (shadow.shadowCascades != undefined) scene.shadowCascades = shadow.shadowCascades;
|
|
4416
4476
|
}
|
|
4417
|
-
return Promise.all(
|
|
4418
|
-
ambientLightPromise,
|
|
4419
|
-
backgroundPromise
|
|
4420
|
-
]).then(function() {
|
|
4477
|
+
return Promise.all(promises).then(function() {
|
|
4421
4478
|
resolve(scene);
|
|
4422
4479
|
});
|
|
4423
4480
|
});
|
|
@@ -4677,6 +4734,22 @@ KHR_materials_clearcoat = __decorate([
|
|
|
4677
4734
|
registerGLTFExtension("KHR_materials_clearcoat", exports.GLTFExtensionMode.AdditiveParse)
|
|
4678
4735
|
], KHR_materials_clearcoat);
|
|
4679
4736
|
|
|
4737
|
+
var KHR_materials_ior = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
4738
|
+
_inherits(KHR_materials_ior, GLTFExtensionParser);
|
|
4739
|
+
function KHR_materials_ior() {
|
|
4740
|
+
return GLTFExtensionParser.apply(this, arguments);
|
|
4741
|
+
}
|
|
4742
|
+
var _proto = KHR_materials_ior.prototype;
|
|
4743
|
+
_proto.additiveParse = function additiveParse(context, material, schema) {
|
|
4744
|
+
var _schema_ior = schema.ior, ior = _schema_ior === void 0 ? 1.5 : _schema_ior;
|
|
4745
|
+
material.ior = ior;
|
|
4746
|
+
};
|
|
4747
|
+
return KHR_materials_ior;
|
|
4748
|
+
}(GLTFExtensionParser);
|
|
4749
|
+
KHR_materials_ior = __decorate([
|
|
4750
|
+
registerGLTFExtension("KHR_materials_ior", exports.GLTFExtensionMode.AdditiveParse)
|
|
4751
|
+
], KHR_materials_ior);
|
|
4752
|
+
|
|
4680
4753
|
var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
4681
4754
|
_inherits(KHR_materials_pbrSpecularGlossiness, GLTFExtensionParser);
|
|
4682
4755
|
function KHR_materials_pbrSpecularGlossiness() {
|