@galacean/engine-loader 0.0.0-experimental-shaderlab.2 → 0.0.0-experimental-stateMachine.0
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 +128 -204
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +128 -204
- package/dist/module.js +130 -206
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
- package/types/gltf/GLTFResource.d.ts +8 -6
- package/types/gltf/parser/GLTFAnimatorControllerParser.d.ts +7 -0
- package/types/gltf/parser/GLTFParserContext.d.ts +4 -2
- package/types/gltf/parser/index.d.ts +1 -0
- package/types/index.d.ts +0 -2
- package/types/resource-deserialize/resources/schema/BasicSchema.d.ts +0 -3
- package/types/resource-deserialize/resources/schema/MaterialSchema.d.ts +1 -2
- package/types/ShaderChunkLoader.d.ts +0 -1
- package/types/ShaderLoader.d.ts +0 -1
- package/types/gltf/GLTFPipeline.d.ts +0 -23
- package/types/gltf/extensions/KHR_draco_mesh_compression.d.ts +0 -1
- package/types/gltf/parser/GLTFJSONParser.d.ts +0 -7
- package/types/resource-deserialize/resources/animationClip/ComponentMap.d.ts +0 -2
- package/types/resource-deserialize/resources/parser/PrefabParser.d.ts +0 -5
- package/types/resource-deserialize/resources/prefab/PrefabDesign.d.ts +0 -70
- package/types/resource-deserialize/resources/prefab/ReflectionParser.d.ts +0 -14
package/dist/module.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Utils, ModelMesh, BlendShape, Texture2D, Loader, Entity, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, Scene, resourceLoader, AssetPromise, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateMachine, AnimatorStateTransition, TextureCube, TextureFilterMode, TextureCubeFace, AmbientLight, DiffuseMode, Font, ReferResource, Animator, IndexFormat, VertexElementFormat, GLCapabilityType, Logger, TextureFormat, request, ContentRestorer, InterpolationType, SkinnedMeshRenderer, Transform, PBRMaterial, BlinnPhongMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Camera, MeshRenderer, Skin, TextureWrapMode as TextureWrapMode$1, SystemInfo,
|
|
1
|
+
import { Utils, ModelMesh, BlendShape, Texture2D, Loader, Entity, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, Scene, resourceLoader, AssetPromise, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateMachine, AnimatorStateTransition, TextureCube, TextureFilterMode, TextureCubeFace, AmbientLight, DiffuseMode, Font, ReferResource, Animator, IndexFormat, VertexElementFormat, GLCapabilityType, Logger, TextureFormat, request, ContentRestorer, InterpolationType, SkinnedMeshRenderer, Transform, PBRMaterial, BlinnPhongMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Camera, MeshRenderer, Skin, TextureWrapMode as TextureWrapMode$1, SystemInfo, Material, Shader, PrimitiveMesh, SpriteAtlas, Sprite, BackgroundMode, DirectLight, PointLight, SpotLight, UnlitMaterial } from '@galacean/engine-core';
|
|
2
2
|
import { Color, Vector4, Vector3, Vector2, Quaternion, SphericalHarmonics3, MathUtil, BoundingBox, Matrix, Rect } from '@galacean/engine-math';
|
|
3
3
|
import { GLCompressedTextureInternalFormat } from '@galacean/engine-rhi-webgl';
|
|
4
4
|
|
|
@@ -1882,6 +1882,7 @@ var TextureWrapMode;
|
|
|
1882
1882
|
this.resourceManager = resourceManager;
|
|
1883
1883
|
this.params = params;
|
|
1884
1884
|
this.accessorBufferCache = {};
|
|
1885
|
+
this.needAnimatorController = false;
|
|
1885
1886
|
this._resourceCache = new Map();
|
|
1886
1887
|
this._progress = {
|
|
1887
1888
|
taskDetail: {},
|
|
@@ -1909,16 +1910,15 @@ var TextureWrapMode;
|
|
|
1909
1910
|
return Promise.resolve(null);
|
|
1910
1911
|
}
|
|
1911
1912
|
var cache = this._resourceCache;
|
|
1912
|
-
var
|
|
1913
|
-
var cacheKey = isOnlyOne || index === undefined ? "" + type : type + ":" + index;
|
|
1913
|
+
var cacheKey = index === undefined ? "" + type : type + ":" + index;
|
|
1914
1914
|
var resource = cache.get(cacheKey);
|
|
1915
1915
|
if (resource) {
|
|
1916
1916
|
return resource;
|
|
1917
1917
|
}
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
var glTFItems = this.glTF[
|
|
1918
|
+
var glTFSchemaKey = glTFSchemaMap[type];
|
|
1919
|
+
var isSubAsset = !!glTFResourceMap[type];
|
|
1920
|
+
if (glTFSchemaKey) {
|
|
1921
|
+
var glTFItems = this.glTF[glTFSchemaKey];
|
|
1922
1922
|
if (glTFItems && (index === undefined || glTFItems[index])) {
|
|
1923
1923
|
if (index === undefined) {
|
|
1924
1924
|
resource = type === 8 ? glTFItems.map(function(_, index) {
|
|
@@ -1928,11 +1928,14 @@ var TextureWrapMode;
|
|
|
1928
1928
|
}));
|
|
1929
1929
|
} else {
|
|
1930
1930
|
resource = parser.parse(this, index);
|
|
1931
|
-
this._handleSubAsset(resource, type, index);
|
|
1931
|
+
isSubAsset && this._handleSubAsset(resource, type, index);
|
|
1932
1932
|
}
|
|
1933
1933
|
} else {
|
|
1934
1934
|
resource = Promise.resolve(null);
|
|
1935
1935
|
}
|
|
1936
|
+
} else {
|
|
1937
|
+
resource = parser.parse(this, index);
|
|
1938
|
+
isSubAsset && this._handleSubAsset(resource, type, index);
|
|
1936
1939
|
}
|
|
1937
1940
|
cache.set(cacheKey, resource);
|
|
1938
1941
|
return resource;
|
|
@@ -1941,6 +1944,7 @@ var TextureWrapMode;
|
|
|
1941
1944
|
var _this = this;
|
|
1942
1945
|
var promise = this.get(0).then(function(json) {
|
|
1943
1946
|
_this.glTF = json;
|
|
1947
|
+
_this.needAnimatorController = !!(json.skins || json.animations);
|
|
1944
1948
|
return Promise.all([
|
|
1945
1949
|
_this.get(1),
|
|
1946
1950
|
_this.get(5),
|
|
@@ -1948,11 +1952,14 @@ var TextureWrapMode;
|
|
|
1948
1952
|
_this.get(7),
|
|
1949
1953
|
_this.get(9),
|
|
1950
1954
|
_this.get(10),
|
|
1955
|
+
_this.get(11),
|
|
1951
1956
|
_this.get(2)
|
|
1952
1957
|
]).then(function() {
|
|
1953
1958
|
var glTFResource = _this.glTFResource;
|
|
1954
|
-
|
|
1955
|
-
|
|
1959
|
+
var animatorController = glTFResource.animatorController;
|
|
1960
|
+
if (animatorController) {
|
|
1961
|
+
var animator = glTFResource._defaultSceneRoot.addComponent(Animator);
|
|
1962
|
+
animator.animatorController = animatorController;
|
|
1956
1963
|
}
|
|
1957
1964
|
_this.resourceManager.addContentRestorer(_this.contentRestorer);
|
|
1958
1965
|
return glTFResource;
|
|
@@ -1971,40 +1978,21 @@ var TextureWrapMode;
|
|
|
1971
1978
|
_this._setTaskCompleteProgress(++task.loaded, task.total);
|
|
1972
1979
|
});
|
|
1973
1980
|
};
|
|
1974
|
-
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
1975
|
-
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
1976
|
-
var animator = defaultSceneRoot.addComponent(Animator);
|
|
1977
|
-
var animatorController = new AnimatorController();
|
|
1978
|
-
var layer = new AnimatorControllerLayer("layer");
|
|
1979
|
-
var animatorStateMachine = new AnimatorStateMachine();
|
|
1980
|
-
animatorController.addLayer(layer);
|
|
1981
|
-
animator.animatorController = animatorController;
|
|
1982
|
-
layer.stateMachine = animatorStateMachine;
|
|
1983
|
-
if (animations) {
|
|
1984
|
-
for(var i = 0; i < animations.length; i++){
|
|
1985
|
-
var animationClip = animations[i];
|
|
1986
|
-
var name = animationClip.name;
|
|
1987
|
-
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
1988
|
-
if (uniqueName !== name) {
|
|
1989
|
-
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
1990
|
-
}
|
|
1991
|
-
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
1992
|
-
animatorState.clip = animationClip;
|
|
1993
|
-
}
|
|
1994
|
-
}
|
|
1995
|
-
};
|
|
1996
1981
|
_proto._handleSubAsset = function _handleSubAsset(resource, type, index) {
|
|
1997
1982
|
var _this = this;
|
|
1998
1983
|
var glTFResourceKey = glTFResourceMap[type];
|
|
1999
|
-
if (!glTFResourceKey) return;
|
|
2000
1984
|
if (type === 8) {
|
|
2001
1985
|
var _this_glTFResource, _glTFResourceKey;
|
|
2002
1986
|
((_this_glTFResource = this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = resource;
|
|
2003
1987
|
} else {
|
|
2004
1988
|
var url = this.glTFResource.url;
|
|
2005
1989
|
resource.then(function(item) {
|
|
2006
|
-
|
|
2007
|
-
|
|
1990
|
+
if (index == undefined) {
|
|
1991
|
+
_this.glTFResource[glTFResourceKey] = item;
|
|
1992
|
+
} else {
|
|
1993
|
+
var _this_glTFResource, _glTFResourceKey;
|
|
1994
|
+
((_this_glTFResource = _this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = item;
|
|
1995
|
+
}
|
|
2008
1996
|
if (type === 7) {
|
|
2009
1997
|
for(var i = 0, length = item.length; i < length; i++){
|
|
2010
1998
|
var mesh = item[i];
|
|
@@ -2052,11 +2040,12 @@ var GLTFParserType;
|
|
|
2052
2040
|
GLTFParserType[GLTFParserType["Entity"] = 8] = "Entity";
|
|
2053
2041
|
GLTFParserType[GLTFParserType["Skin"] = 9] = "Skin";
|
|
2054
2042
|
GLTFParserType[GLTFParserType["Animation"] = 10] = "Animation";
|
|
2043
|
+
GLTFParserType[GLTFParserType["AnimatorController"] = 11] = "AnimatorController";
|
|
2055
2044
|
})(GLTFParserType || (GLTFParserType = {}));
|
|
2056
2045
|
var _obj;
|
|
2057
2046
|
var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[5] = "textures", _obj[6] = "materials", _obj[7] = "meshes", _obj[8] = "nodes", _obj[9] = "skins", _obj[10] = "animations", _obj[4] = "bufferViews", _obj);
|
|
2058
2047
|
var _obj1;
|
|
2059
|
-
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "_sceneRoots", _obj1[5] = "textures", _obj1[6] = "materials", _obj1[7] = "meshes", _obj1[8] = "entities", _obj1[9] = "skins", _obj1[10] = "animations", _obj1);
|
|
2048
|
+
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "_sceneRoots", _obj1[5] = "textures", _obj1[6] = "materials", _obj1[7] = "meshes", _obj1[8] = "entities", _obj1[9] = "skins", _obj1[10] = "animations", _obj1[11] = "animatorController", _obj1);
|
|
2060
2049
|
function registerGLTFParser(pipeline) {
|
|
2061
2050
|
return function(Parser) {
|
|
2062
2051
|
var parser = new Parser();
|
|
@@ -4836,6 +4825,48 @@ GLTFBufferViewParser = __decorate([
|
|
|
4836
4825
|
registerGLTFParser(GLTFParserType.BufferView)
|
|
4837
4826
|
], GLTFBufferViewParser);
|
|
4838
4827
|
|
|
4828
|
+
var GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
4829
|
+
_inherits(GLTFAnimatorControllerParser, GLTFParser1);
|
|
4830
|
+
function GLTFAnimatorControllerParser() {
|
|
4831
|
+
return GLTFParser1.apply(this, arguments);
|
|
4832
|
+
}
|
|
4833
|
+
var _proto = GLTFAnimatorControllerParser.prototype;
|
|
4834
|
+
_proto.parse = function parse(context) {
|
|
4835
|
+
var _this = this;
|
|
4836
|
+
if (!context.needAnimatorController) {
|
|
4837
|
+
return Promise.resolve(null);
|
|
4838
|
+
}
|
|
4839
|
+
return context.get(GLTFParserType.Animation).then(function(animations) {
|
|
4840
|
+
var animatorController = _this._createAnimatorController(animations);
|
|
4841
|
+
return Promise.resolve(animatorController);
|
|
4842
|
+
});
|
|
4843
|
+
};
|
|
4844
|
+
_proto._createAnimatorController = function _createAnimatorController(animations) {
|
|
4845
|
+
var animatorController = new AnimatorController();
|
|
4846
|
+
var layer = new AnimatorControllerLayer("layer");
|
|
4847
|
+
var animatorStateMachine = new AnimatorStateMachine();
|
|
4848
|
+
animatorController.addLayer(layer);
|
|
4849
|
+
layer.stateMachine = animatorStateMachine;
|
|
4850
|
+
if (animations) {
|
|
4851
|
+
for(var i = 0; i < animations.length; i++){
|
|
4852
|
+
var animationClip = animations[i];
|
|
4853
|
+
var name = animationClip.name;
|
|
4854
|
+
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
4855
|
+
if (uniqueName !== name) {
|
|
4856
|
+
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
4857
|
+
}
|
|
4858
|
+
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
4859
|
+
animatorState.clip = animationClip;
|
|
4860
|
+
}
|
|
4861
|
+
}
|
|
4862
|
+
return animatorController;
|
|
4863
|
+
};
|
|
4864
|
+
return GLTFAnimatorControllerParser;
|
|
4865
|
+
}(GLTFParser);
|
|
4866
|
+
GLTFAnimatorControllerParser = __decorate([
|
|
4867
|
+
registerGLTFParser(GLTFParserType.AnimatorController)
|
|
4868
|
+
], GLTFAnimatorControllerParser);
|
|
4869
|
+
|
|
4839
4870
|
// Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
|
|
4840
4871
|
var MeshoptDecoder = function() {
|
|
4841
4872
|
var unpack = function unpack(data) {
|
|
@@ -5073,7 +5104,8 @@ GLTFLoader = __decorate([
|
|
|
5073
5104
|
|
|
5074
5105
|
var _HDRLoader;
|
|
5075
5106
|
var PI = Math.PI;
|
|
5076
|
-
var HDRLoader = (_HDRLoader =
|
|
5107
|
+
var HDRLoader = (_HDRLoader = // referenece: https://www.flipcode.com/archives/HDR_Image_Reader.shtml
|
|
5108
|
+
/*#__PURE__*/ function(Loader1) {
|
|
5077
5109
|
_inherits(HDRLoader1, Loader1);
|
|
5078
5110
|
function HDRLoader1() {
|
|
5079
5111
|
return Loader1.apply(this, arguments);
|
|
@@ -5243,15 +5275,20 @@ var HDRLoader = (_HDRLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5243
5275
|
var dataRGBA = new Uint8Array(4 * width * height);
|
|
5244
5276
|
var offset = 0, pos = 0;
|
|
5245
5277
|
var ptrEnd = 4 * scanLineWidth;
|
|
5246
|
-
var rgbeStart = new Uint8Array(4);
|
|
5247
5278
|
var scanLineBuffer = new Uint8Array(ptrEnd);
|
|
5248
5279
|
var numScanLines = height; // read in each successive scanLine
|
|
5249
5280
|
while(numScanLines > 0 && pos < byteLength){
|
|
5250
|
-
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
if (
|
|
5281
|
+
var a = buffer[pos++];
|
|
5282
|
+
var b = buffer[pos++];
|
|
5283
|
+
var c = buffer[pos++];
|
|
5284
|
+
var d = buffer[pos++];
|
|
5285
|
+
if (a != 2 || b != 2 || c & 0x80 || width < 8 || width > 32767) {
|
|
5286
|
+
// this file is not run length encoded
|
|
5287
|
+
// read values sequentially
|
|
5288
|
+
return buffer;
|
|
5289
|
+
}
|
|
5290
|
+
if ((c << 8 | d) != scanLineWidth) {
|
|
5291
|
+
// eslint-disable-next-line no-throw-literal
|
|
5255
5292
|
throw "HDR Bad header format, wrong scan line width";
|
|
5256
5293
|
}
|
|
5257
5294
|
// read each of the four channels for the scanline into the buffer
|
|
@@ -5683,73 +5720,60 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5683
5720
|
_this.request(item.url, _extends({}, item, {
|
|
5684
5721
|
type: "json"
|
|
5685
5722
|
})).then(function(materialSchema) {
|
|
5723
|
+
var _loop = function(key) {
|
|
5724
|
+
var _shaderData_key = shaderData[key], type = _shaderData_key.type, value = _shaderData_key.value;
|
|
5725
|
+
switch(type){
|
|
5726
|
+
case "Vector2":
|
|
5727
|
+
materialShaderData.setVector2(key, new Vector2(value.x, value.y));
|
|
5728
|
+
break;
|
|
5729
|
+
case "Vector3":
|
|
5730
|
+
materialShaderData.setVector3(key, new Vector3(value.x, value.y, value.z));
|
|
5731
|
+
break;
|
|
5732
|
+
case "Vector4":
|
|
5733
|
+
materialShaderData.setVector4(key, new Vector4(value.x, value.y, value.z, value.w));
|
|
5734
|
+
break;
|
|
5735
|
+
case "Color":
|
|
5736
|
+
materialShaderData.setColor(key, new Color(value.r, value.g, value.b, value.a));
|
|
5737
|
+
break;
|
|
5738
|
+
case "Float":
|
|
5739
|
+
materialShaderData.setFloat(key, value);
|
|
5740
|
+
break;
|
|
5741
|
+
case "Texture":
|
|
5742
|
+
texturePromises.push(// @ts-ignore
|
|
5743
|
+
resourceManager.getResourceByRef(value).then(function(texture) {
|
|
5744
|
+
materialShaderData.setTexture(key, texture);
|
|
5745
|
+
}));
|
|
5746
|
+
break;
|
|
5747
|
+
case "Boolean":
|
|
5748
|
+
materialShaderData.setInt(key, value ? 1 : 0);
|
|
5749
|
+
break;
|
|
5750
|
+
case "Integer":
|
|
5751
|
+
materialShaderData.setInt(key, Number(value));
|
|
5752
|
+
break;
|
|
5753
|
+
}
|
|
5754
|
+
};
|
|
5686
5755
|
var engine = resourceManager.engine;
|
|
5687
|
-
var
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5696
|
-
|
|
5756
|
+
var name = materialSchema.name, shader = materialSchema.shader, shaderData = materialSchema.shaderData, macros = materialSchema.macros, renderState = materialSchema.renderState;
|
|
5757
|
+
var material = new Material(engine, Shader.find(shader));
|
|
5758
|
+
material.name = name;
|
|
5759
|
+
var texturePromises = new Array();
|
|
5760
|
+
var materialShaderData = material.shaderData;
|
|
5761
|
+
for(var key in shaderData)_loop(key);
|
|
5762
|
+
for(var i = 0, length = macros.length; i < length; i++){
|
|
5763
|
+
var _macros_i = macros[i], name1 = _macros_i.name, value = _macros_i.value;
|
|
5764
|
+
if (value == undefined) {
|
|
5765
|
+
materialShaderData.enableMacro(name1);
|
|
5766
|
+
} else {
|
|
5767
|
+
materialShaderData.enableMacro(name1, value);
|
|
5768
|
+
}
|
|
5697
5769
|
}
|
|
5770
|
+
parseProperty(material, "renderState", renderState);
|
|
5771
|
+
return Promise.all(texturePromises).then(function() {
|
|
5772
|
+
resolve(material);
|
|
5773
|
+
});
|
|
5698
5774
|
}).catch(reject);
|
|
5699
5775
|
});
|
|
5700
5776
|
};
|
|
5701
|
-
_proto.getMaterialByShader = function getMaterialByShader(materialSchema, shader, engine) {
|
|
5702
|
-
var _loop = function(key) {
|
|
5703
|
-
var _shaderData_key = shaderData[key], type = _shaderData_key.type, value = _shaderData_key.value;
|
|
5704
|
-
switch(type){
|
|
5705
|
-
case "Vector2":
|
|
5706
|
-
materialShaderData.setVector2(key, new Vector2(value.x, value.y));
|
|
5707
|
-
break;
|
|
5708
|
-
case "Vector3":
|
|
5709
|
-
materialShaderData.setVector3(key, new Vector3(value.x, value.y, value.z));
|
|
5710
|
-
break;
|
|
5711
|
-
case "Vector4":
|
|
5712
|
-
materialShaderData.setVector4(key, new Vector4(value.x, value.y, value.z, value.w));
|
|
5713
|
-
break;
|
|
5714
|
-
case "Color":
|
|
5715
|
-
materialShaderData.setColor(key, new Color(value.r, value.g, value.b, value.a));
|
|
5716
|
-
break;
|
|
5717
|
-
case "Float":
|
|
5718
|
-
materialShaderData.setFloat(key, value);
|
|
5719
|
-
break;
|
|
5720
|
-
case "Texture":
|
|
5721
|
-
texturePromises.push(// @ts-ignore
|
|
5722
|
-
engine.resourceManager.getResourceByRef(value).then(function(texture) {
|
|
5723
|
-
materialShaderData.setTexture(key, texture);
|
|
5724
|
-
}));
|
|
5725
|
-
break;
|
|
5726
|
-
case "Boolean":
|
|
5727
|
-
materialShaderData.setInt(key, value ? 1 : 0);
|
|
5728
|
-
break;
|
|
5729
|
-
case "Integer":
|
|
5730
|
-
materialShaderData.setInt(key, Number(value));
|
|
5731
|
-
break;
|
|
5732
|
-
}
|
|
5733
|
-
};
|
|
5734
|
-
var name = materialSchema.name, shaderData = materialSchema.shaderData, macros = materialSchema.macros, renderState = materialSchema.renderState;
|
|
5735
|
-
var material = new Material(engine, shader);
|
|
5736
|
-
material.name = name;
|
|
5737
|
-
var texturePromises = new Array();
|
|
5738
|
-
var materialShaderData = material.shaderData;
|
|
5739
|
-
for(var key in shaderData)_loop(key);
|
|
5740
|
-
for(var i = 0, length = macros.length; i < length; i++){
|
|
5741
|
-
var _macros_i = macros[i], name1 = _macros_i.name, value = _macros_i.value;
|
|
5742
|
-
if (value == undefined) {
|
|
5743
|
-
materialShaderData.enableMacro(name1);
|
|
5744
|
-
} else {
|
|
5745
|
-
materialShaderData.enableMacro(name1, value);
|
|
5746
|
-
}
|
|
5747
|
-
}
|
|
5748
|
-
parseProperty(material, "renderState", renderState);
|
|
5749
|
-
return Promise.all(texturePromises).then(function() {
|
|
5750
|
-
return material;
|
|
5751
|
-
});
|
|
5752
|
-
};
|
|
5753
5777
|
return MaterialLoader;
|
|
5754
5778
|
}(Loader);
|
|
5755
5779
|
MaterialLoader = __decorate([
|
|
@@ -6199,106 +6223,6 @@ TextureCubeLoader = __decorate([
|
|
|
6199
6223
|
])
|
|
6200
6224
|
], TextureCubeLoader);
|
|
6201
6225
|
|
|
6202
|
-
var ShaderLoader = /*#__PURE__*/ function(Loader1) {
|
|
6203
|
-
_inherits(ShaderLoader, Loader1);
|
|
6204
|
-
function ShaderLoader() {
|
|
6205
|
-
return Loader1.apply(this, arguments);
|
|
6206
|
-
}
|
|
6207
|
-
var _proto = ShaderLoader.prototype;
|
|
6208
|
-
_proto.load = function load(item, resourceManager) {
|
|
6209
|
-
var _this = this;
|
|
6210
|
-
return this.request(item.url, _extends({}, item, {
|
|
6211
|
-
type: "text"
|
|
6212
|
-
})).then(function(code) {
|
|
6213
|
-
var builtinShader = _this.getBuiltinShader(code);
|
|
6214
|
-
if (builtinShader) {
|
|
6215
|
-
return Shader.find(builtinShader);
|
|
6216
|
-
}
|
|
6217
|
-
var matches = code.matchAll(/^[ \t]*#include +"([^$\\"]+)"/gm);
|
|
6218
|
-
return Promise.all(Array.from(matches).map(function(m) {
|
|
6219
|
-
var path = m[1];
|
|
6220
|
-
if (path) {
|
|
6221
|
-
// @ts-ignore
|
|
6222
|
-
var resource = resourceManager._virtualPathMap[path];
|
|
6223
|
-
if (!resource) return;
|
|
6224
|
-
return resourceManager.load({
|
|
6225
|
-
type: AssetType.ShaderChunk,
|
|
6226
|
-
url: resource,
|
|
6227
|
-
params: {
|
|
6228
|
-
includeKey: path
|
|
6229
|
-
}
|
|
6230
|
-
});
|
|
6231
|
-
}
|
|
6232
|
-
})).then(function() {
|
|
6233
|
-
return Shader.create(code);
|
|
6234
|
-
});
|
|
6235
|
-
});
|
|
6236
|
-
};
|
|
6237
|
-
_proto.getBuiltinShader = function getBuiltinShader(code) {
|
|
6238
|
-
var match = code.match(/^\s*\/\/\s*@builtin\s+(\w+)/);
|
|
6239
|
-
if (match && match[1]) return match[1];
|
|
6240
|
-
};
|
|
6241
|
-
return ShaderLoader;
|
|
6242
|
-
}(Loader);
|
|
6243
|
-
ShaderLoader = __decorate([
|
|
6244
|
-
resourceLoader(AssetType.Shader, [
|
|
6245
|
-
"gs",
|
|
6246
|
-
"gsl"
|
|
6247
|
-
], false)
|
|
6248
|
-
], ShaderLoader);
|
|
6249
|
-
|
|
6250
|
-
var ShaderChunkLoader = /*#__PURE__*/ function(Loader1) {
|
|
6251
|
-
_inherits(ShaderChunkLoader, Loader1);
|
|
6252
|
-
function ShaderChunkLoader() {
|
|
6253
|
-
return Loader1.apply(this, arguments);
|
|
6254
|
-
}
|
|
6255
|
-
var _proto = ShaderChunkLoader.prototype;
|
|
6256
|
-
_proto.load = function load(item, resourceManager) {
|
|
6257
|
-
return this.request(item.url, _extends({}, item, {
|
|
6258
|
-
type: "text"
|
|
6259
|
-
})).then(/*#__PURE__*/ _async_to_generator(function(code) {
|
|
6260
|
-
var includeKey, matches;
|
|
6261
|
-
return __generator(this, function(_state) {
|
|
6262
|
-
switch(_state.label){
|
|
6263
|
-
case 0:
|
|
6264
|
-
includeKey = item.params.includeKey;
|
|
6265
|
-
ShaderFactory.registerInclude(includeKey, code);
|
|
6266
|
-
matches = code.matchAll(/^[ \t]*#include +"([^$\\"]+)"/gm);
|
|
6267
|
-
return [
|
|
6268
|
-
4,
|
|
6269
|
-
Promise.all(Array.from(matches).map(function(m) {
|
|
6270
|
-
var path = m[1];
|
|
6271
|
-
if (path) {
|
|
6272
|
-
// @ts-ignore
|
|
6273
|
-
var resource = resourceManager._virtualPathMap[path];
|
|
6274
|
-
if (!resource) return;
|
|
6275
|
-
return resourceManager.load({
|
|
6276
|
-
type: AssetType.ShaderChunk,
|
|
6277
|
-
url: resource,
|
|
6278
|
-
params: {
|
|
6279
|
-
includeKey: path
|
|
6280
|
-
}
|
|
6281
|
-
});
|
|
6282
|
-
}
|
|
6283
|
-
}))
|
|
6284
|
-
];
|
|
6285
|
-
case 1:
|
|
6286
|
-
_state.sent();
|
|
6287
|
-
return [
|
|
6288
|
-
2
|
|
6289
|
-
];
|
|
6290
|
-
}
|
|
6291
|
-
});
|
|
6292
|
-
}));
|
|
6293
|
-
};
|
|
6294
|
-
return ShaderChunkLoader;
|
|
6295
|
-
}(Loader);
|
|
6296
|
-
ShaderChunkLoader = __decorate([
|
|
6297
|
-
resourceLoader(AssetType.ShaderChunk, [
|
|
6298
|
-
"glsl"
|
|
6299
|
-
], false)
|
|
6300
|
-
], ShaderChunkLoader);
|
|
6301
|
-
|
|
6302
6226
|
var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
6303
6227
|
_inherits(SceneLoader, Loader1);
|
|
6304
6228
|
function SceneLoader() {
|
|
@@ -6802,5 +6726,5 @@ KHR_materials_anisotropy = __decorate([
|
|
|
6802
6726
|
registerGLTFExtension("KHR_materials_anisotropy", GLTFExtensionMode.AdditiveParse)
|
|
6803
6727
|
], KHR_materials_anisotropy);
|
|
6804
6728
|
|
|
6805
|
-
export { AccessorType, AnimationClipDecoder, BufferInfo, EditorTextureLoader, GLTFAnimationParser, GLTFBufferParser, GLTFBufferViewParser, GLTFEntityParser, GLTFExtensionMode, GLTFExtensionParser, GLTFLoader, GLTFMaterialParser, GLTFMeshParser, GLTFParser, GLTFParserContext, GLTFParserType, GLTFResource, GLTFSceneParser, GLTFSchemaParser, GLTFSkinParser, GLTFTextureParser, GLTFUtils, GLTFValidator, InterpolableValueType, KTX2Loader, KTX2TargetFormat, KTX2Transcoder, MeshDecoder, MeshLoader$1 as MeshLoader, ParserContext, PrefabParser, ReflectionParser, SceneParser, SpecularMode, Texture2DDecoder, decode, parseSingleKTX, registerGLTFExtension, registerGLTFParser };
|
|
6729
|
+
export { AccessorType, AnimationClipDecoder, BufferInfo, EditorTextureLoader, GLTFAnimationParser, GLTFAnimatorControllerParser, GLTFBufferParser, GLTFBufferViewParser, GLTFEntityParser, GLTFExtensionMode, GLTFExtensionParser, GLTFLoader, GLTFMaterialParser, GLTFMeshParser, GLTFParser, GLTFParserContext, GLTFParserType, GLTFResource, GLTFSceneParser, GLTFSchemaParser, GLTFSkinParser, GLTFTextureParser, GLTFUtils, GLTFValidator, InterpolableValueType, KTX2Loader, KTX2TargetFormat, KTX2Transcoder, MeshDecoder, MeshLoader$1 as MeshLoader, ParserContext, PrefabParser, ReflectionParser, SceneParser, SpecularMode, Texture2DDecoder, decode, parseSingleKTX, registerGLTFExtension, registerGLTFParser };
|
|
6806
6730
|
//# sourceMappingURL=module.js.map
|