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