@galacean/engine 1.3.0-alpha.2 → 1.3.0-beta.5
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/browser.js +354 -144
- package/dist/browser.js.map +1 -1
- package/dist/browser.min.js +1 -1
- package/dist/browser.min.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +1 -1
- package/dist/module.js +1 -1
- package/dist/module.js.map +1 -1
- package/package.json +5 -5
package/dist/browser.js
CHANGED
|
@@ -7953,6 +7953,38 @@
|
|
|
7953
7953
|
ShaderPlatformTarget[ShaderPlatformTarget["GLES100"] = 0] = "GLES100";
|
|
7954
7954
|
ShaderPlatformTarget[ShaderPlatformTarget["GLES300"] = 1] = "GLES300";
|
|
7955
7955
|
})(exports.ShaderPlatformTarget || (exports.ShaderPlatformTarget = {}));
|
|
7956
|
+
function _array_like_to_array$1(arr, len) {
|
|
7957
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
7958
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
7959
|
+
return arr2;
|
|
7960
|
+
}
|
|
7961
|
+
function _unsupported_iterable_to_array$1(o, minLen) {
|
|
7962
|
+
if (!o) return;
|
|
7963
|
+
if (typeof o === "string") return _array_like_to_array$1(o, minLen);
|
|
7964
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
7965
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
7966
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
7967
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
|
|
7968
|
+
}
|
|
7969
|
+
function _create_for_of_iterator_helper_loose$1(o, allowArrayLike) {
|
|
7970
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
7971
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
7972
|
+
// Fallback for engines without symbol support
|
|
7973
|
+
if (Array.isArray(o) || (it = _unsupported_iterable_to_array$1(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
7974
|
+
if (it) o = it;
|
|
7975
|
+
var i = 0;
|
|
7976
|
+
return function() {
|
|
7977
|
+
if (i >= o.length) return {
|
|
7978
|
+
done: true
|
|
7979
|
+
};
|
|
7980
|
+
return {
|
|
7981
|
+
done: false,
|
|
7982
|
+
value: o[i++]
|
|
7983
|
+
};
|
|
7984
|
+
};
|
|
7985
|
+
}
|
|
7986
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
7987
|
+
}
|
|
7956
7988
|
/**
|
|
7957
7989
|
* Shader macro。
|
|
7958
7990
|
*/ var ShaderMacro = /*#__PURE__*/ function() {
|
|
@@ -8189,7 +8221,7 @@
|
|
|
8189
8221
|
PipelineStage[/** Forward shading stage. */ "Forward"] = "Forward";
|
|
8190
8222
|
})(exports.PipelineStage || (exports.PipelineStage = {}));
|
|
8191
8223
|
var camera_declare = "#define GLSLIFY 1\nuniform vec3 camera_Position;uniform vec3 camera_Forward;uniform vec4 camera_ProjectionParams;"; // eslint-disable-line
|
|
8192
|
-
var common = "#define GLSLIFY 1\n#define PI 3.14159265359\n#define RECIPROCAL_PI 0.31830988618\n#define EPSILON 1e-6\n#define LOG2 1.442695\n#define saturate( a ) clamp( a, 0.0, 1.0 )\nfloat pow2(float x){return x*x;}vec4 RGBMToLinear(vec4 value,float maxRange){return vec4(value.rgb*value.a*maxRange,1.0);}vec4 gammaToLinear(vec4 srgbIn){return vec4(pow(srgbIn.rgb,vec3(2.2)),srgbIn.a);}vec4 linearToGamma(vec4 linearIn){return vec4(pow(linearIn.rgb,vec3(1.0/2.2)),linearIn.a);}uniform vec4 camera_DepthBufferParams;float remapDepthBufferLinear01(float z){return 1.0/(camera_DepthBufferParams.x*z+camera_DepthBufferParams.y);}\n#ifdef GRAPHICS_API_WEBGL2\n#define INVERSE_MAT(mat) inverse(mat)\n#else\nmat2 inverseMat(mat2 m){return mat2(m[1][1],-m[0][1],-m[1][0],m[0][0])/(m[0][0]*m[1][1]-m[0][1]*m[1][0]);}mat3 inverseMat(mat3 m){float a00=m[0][0],a01=m[0][1],a02=m[0][2];float a10=m[1][0],a11=m[1][1],a12=m[1][2];float a20=m[2][0],a21=m[2][1],a22=m[2][2];float b01=a22*a11-a12*a21;float b11=-a22*a10+a12*a20;float b21=a21*a10-a11*a20;float det=a00*b01+a01*b11+a02*b21;return mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),b11,(a22*a00-a02*a20),(-a12*a00+a02*a10),b21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;}mat4 inverseMat(mat4 m){float a00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],a10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],a20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],a30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],b00=a00*a11-a01*a10,b01=a00*a12-a02*a10,b02=a00*a13-a03*a10,b03=a01*a12-a02*a11,b04=a01*a13-a03*a11,b05=a02*a13-a03*a12,b06=a20*a31-a21*a30,b07=a20*a32-a22*a30,b08=a20*a33-a23*a30,b09=a21*a32-a22*a31,b10=a21*a33-a23*a31,b11=a22*a33-a23*a32,det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;return mat4(a11*b11-a12*b10+a13*b09,a02*b10-a01*b11-a03*b09,a31*b05-a32*b04+a33*b03,a22*b04-a21*b05-a23*b03,a12*b08-a10*b11-a13*b07,a00*b11-a02*b08+a03*b07,a32*b02-a30*b05-a33*b01,a20*b05-a22*b02+a23*b01,a10*b10-a11*b08+a13*b06,a01*b08-a00*b10-a03*b06,a30*b04-a31*b02+a33*b00,a21*b02-a20*b04-a23*b00,a11*b07-a10*b09-a12*b06,a00*b09-a01*b07+a02*b06,a31*b01-a30*b03-a32*b00,a20*b03-a21*b01+a22*b00)/det;}\n#define INVERSE_MAT(mat) inverseMat(mat)\n#endif\n"; // eslint-disable-line
|
|
8224
|
+
var common = "#define GLSLIFY 1\n#define PI 3.14159265359\n#define RECIPROCAL_PI 0.31830988618\n#define EPSILON 1e-6\n#define LOG2 1.442695\n#define saturate( a ) clamp( a, 0.0, 1.0 )\nfloat pow2(float x){return x*x;}vec4 RGBMToLinear(vec4 value,float maxRange){return vec4(value.rgb*value.a*maxRange,1.0);}vec4 gammaToLinear(vec4 srgbIn){return vec4(pow(srgbIn.rgb,vec3(2.2)),srgbIn.a);}vec4 linearToGamma(vec4 linearIn){linearIn=max(linearIn,0.0);return vec4(pow(linearIn.rgb,vec3(1.0/2.2)),linearIn.a);}uniform vec4 camera_DepthBufferParams;float remapDepthBufferLinear01(float z){return 1.0/(camera_DepthBufferParams.x*z+camera_DepthBufferParams.y);}\n#ifdef GRAPHICS_API_WEBGL2\n#define INVERSE_MAT(mat) inverse(mat)\n#else\nmat2 inverseMat(mat2 m){return mat2(m[1][1],-m[0][1],-m[1][0],m[0][0])/(m[0][0]*m[1][1]-m[0][1]*m[1][0]);}mat3 inverseMat(mat3 m){float a00=m[0][0],a01=m[0][1],a02=m[0][2];float a10=m[1][0],a11=m[1][1],a12=m[1][2];float a20=m[2][0],a21=m[2][1],a22=m[2][2];float b01=a22*a11-a12*a21;float b11=-a22*a10+a12*a20;float b21=a21*a10-a11*a20;float det=a00*b01+a01*b11+a02*b21;return mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),b11,(a22*a00-a02*a20),(-a12*a00+a02*a10),b21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;}mat4 inverseMat(mat4 m){float a00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],a10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],a20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],a30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],b00=a00*a11-a01*a10,b01=a00*a12-a02*a10,b02=a00*a13-a03*a10,b03=a01*a12-a02*a11,b04=a01*a13-a03*a11,b05=a02*a13-a03*a12,b06=a20*a31-a21*a30,b07=a20*a32-a22*a30,b08=a20*a33-a23*a30,b09=a21*a32-a22*a31,b10=a21*a33-a23*a31,b11=a22*a33-a23*a32,det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;return mat4(a11*b11-a12*b10+a13*b09,a02*b10-a01*b11-a03*b09,a31*b05-a32*b04+a33*b03,a22*b04-a21*b05-a23*b03,a12*b08-a10*b11-a13*b07,a00*b11-a02*b08+a03*b07,a32*b02-a30*b05-a33*b01,a20*b05-a22*b02+a23*b01,a10*b10-a11*b08+a13*b06,a01*b08-a00*b10-a03*b06,a30*b04-a31*b02+a33*b00,a21*b02-a20*b04-a23*b00,a11*b07-a10*b09-a12*b06,a00*b09-a01*b07+a02*b06,a31*b01-a30*b03-a32*b00,a20*b03-a21*b01+a22*b00)/det;}\n#define INVERSE_MAT(mat) inverseMat(mat)\n#endif\n"; // eslint-disable-line
|
|
8193
8225
|
var common_vert = "#define GLSLIFY 1\nattribute vec3 POSITION;\n#ifdef RENDERER_HAS_UV\nattribute vec2 TEXCOORD_0;\n#endif\n#ifdef RENDERER_HAS_UV1\nattribute vec2 TEXCOORD_1;\n#endif\n#ifdef RENDERER_HAS_SKIN\nattribute vec4 JOINTS_0;attribute vec4 WEIGHTS_0;\n#ifdef RENDERER_USE_JOINT_TEXTURE\nuniform sampler2D renderer_JointSampler;uniform float renderer_JointCount;mat4 getJointMatrix(sampler2D smp,float index){float base=index/renderer_JointCount;float hf=0.5/renderer_JointCount;float v=base+hf;vec4 m0=texture2D(smp,vec2(0.125,v));vec4 m1=texture2D(smp,vec2(0.375,v));vec4 m2=texture2D(smp,vec2(0.625,v));vec4 m3=texture2D(smp,vec2(0.875,v));return mat4(m0,m1,m2,m3);}\n#else\nuniform mat4 renderer_JointMatrix[RENDERER_JOINTS_NUM];\n#endif\n#endif\n#ifdef RENDERER_ENABLE_VERTEXCOLOR\nattribute vec4 COLOR_0;\n#endif\n#include <transform_declare>\n#include <camera_declare>\nuniform vec4 material_TilingOffset;\n#ifndef MATERIAL_OMIT_NORMAL\n#ifdef RENDERER_HAS_NORMAL\nattribute vec3 NORMAL;\n#endif\n#ifdef RENDERER_HAS_TANGENT\nattribute vec4 TANGENT;\n#endif\n#endif\n"; // eslint-disable-line
|
|
8194
8226
|
var transform_declare = "#define GLSLIFY 1\nuniform mat4 renderer_LocalMat;uniform mat4 renderer_ModelMat;uniform mat4 camera_ViewMat;uniform mat4 camera_ProjMat;uniform mat4 renderer_MVMat;uniform mat4 renderer_MVPMat;uniform mat4 renderer_NormalMat;"; // eslint-disable-line
|
|
8195
8227
|
var color_share = "#define GLSLIFY 1\n#ifdef RENDERER_ENABLE_VERTEXCOLOR\nvarying vec4 v_color;\n#endif\n"; // eslint-disable-line
|
|
@@ -8235,7 +8267,7 @@
|
|
|
8235
8267
|
var pbr_helper = "#define GLSLIFY 1\n#include <normal_get>\nfloat computeSpecularOcclusion(float ambientOcclusion,float roughness,float dotNV){return saturate(pow(dotNV+ambientOcclusion,exp2(-16.0*roughness-1.0))-1.0+ambientOcclusion);}float getAARoughnessFactor(vec3 normal){\n#ifdef HAS_DERIVATIVES\nvec3 dxy=max(abs(dFdx(normal)),abs(dFdy(normal)));return max(max(dxy.x,dxy.y),dxy.z);\n#else\nreturn 0.0;\n#endif\n}\n#ifdef MATERIAL_ENABLE_ANISOTROPY\nvec3 getAnisotropicBentNormal(Geometry geometry,vec3 n,float roughness){vec3 anisotropyDirection=geometry.anisotropy>=0.0 ? geometry.anisotropicB : geometry.anisotropicT;vec3 anisotropicTangent=cross(anisotropyDirection,geometry.viewDir);vec3 anisotropicNormal=cross(anisotropicTangent,anisotropyDirection);vec3 bentNormal=normalize(mix(n,anisotropicNormal,abs(geometry.anisotropy)*saturate(5.0*roughness)));return bentNormal;}\n#endif\nvoid initGeometry(out Geometry geometry,bool isFrontFacing){geometry.position=v_pos;\n#ifdef CAMERA_ORTHOGRAPHIC\ngeometry.viewDir=-camera_Forward;\n#else\ngeometry.viewDir=normalize(camera_Position-v_pos);\n#endif\n#if defined(MATERIAL_HAS_NORMALTEXTURE) || defined(MATERIAL_HAS_CLEAR_COAT_NORMAL_TEXTURE) || defined(MATERIAL_ENABLE_ANISOTROPY)\nmat3 tbn=getTBN(isFrontFacing);\n#endif\n#ifdef MATERIAL_HAS_NORMALTEXTURE\ngeometry.normal=getNormalByNormalTexture(tbn,material_NormalTexture,material_NormalIntensity,v_uv,isFrontFacing);\n#else\ngeometry.normal=getNormal(isFrontFacing);\n#endif\ngeometry.dotNV=saturate(dot(geometry.normal,geometry.viewDir));\n#ifdef MATERIAL_ENABLE_CLEAR_COAT\n#ifdef MATERIAL_HAS_CLEAR_COAT_NORMAL_TEXTURE\ngeometry.clearCoatNormal=getNormalByNormalTexture(tbn,material_ClearCoatNormalTexture,material_NormalIntensity,v_uv,isFrontFacing);\n#else\ngeometry.clearCoatNormal=getNormal(isFrontFacing);\n#endif\ngeometry.clearCoatDotNV=saturate(dot(geometry.clearCoatNormal,geometry.viewDir));\n#endif\n#ifdef MATERIAL_ENABLE_ANISOTROPY\nfloat anisotropy=material_AnisotropyInfo.z;vec3 anisotropicDirection=vec3(material_AnisotropyInfo.xy,0.0);\n#ifdef MATERIAL_HAS_ANISOTROPY_TEXTURE\nvec3 anisotropyTextureInfo=texture2D(material_AnisotropyTexture,v_uv).rgb;anisotropy*=anisotropyTextureInfo.b;anisotropicDirection.xy*=anisotropyTextureInfo.rg*2.0-1.0;\n#endif\ngeometry.anisotropy=anisotropy;geometry.anisotropicT=normalize(tbn*anisotropicDirection);geometry.anisotropicB=normalize(cross(geometry.normal,geometry.anisotropicT));\n#endif\n}void initMaterial(out Material material,inout Geometry geometry){vec4 baseColor=material_BaseColor;float metal=material_Metal;float roughness=material_Roughness;vec3 specularColor=material_PBRSpecularColor;float glossiness=material_Glossiness;float alphaCutoff=material_AlphaCutoff;float f0=pow2((material_IOR-1.0)/(material_IOR+1.0));material.f0=f0;\n#ifdef MATERIAL_HAS_BASETEXTURE\nvec4 baseTextureColor=texture2D(material_BaseTexture,v_uv);\n#ifndef ENGINE_IS_COLORSPACE_GAMMA\nbaseTextureColor=gammaToLinear(baseTextureColor);\n#endif\nbaseColor*=baseTextureColor;\n#endif\n#ifdef RENDERER_ENABLE_VERTEXCOLOR\nbaseColor*=v_color;\n#endif\n#ifdef MATERIAL_IS_ALPHA_CUTOFF\nif(baseColor.a<alphaCutoff){discard;}\n#endif\n#ifdef MATERIAL_HAS_ROUGHNESS_METALLIC_TEXTURE\nvec4 metalRoughMapColor=texture2D(material_RoughnessMetallicTexture,v_uv);roughness*=metalRoughMapColor.g;metal*=metalRoughMapColor.b;\n#endif\n#ifdef MATERIAL_HAS_SPECULAR_GLOSSINESS_TEXTURE\nvec4 specularGlossinessColor=texture2D(material_SpecularGlossinessTexture,v_uv);\n#ifndef ENGINE_IS_COLORSPACE_GAMMA\nspecularGlossinessColor=gammaToLinear(specularGlossinessColor);\n#endif\nspecularColor*=specularGlossinessColor.rgb;glossiness*=specularGlossinessColor.a;\n#endif\n#ifdef IS_METALLIC_WORKFLOW\nmaterial.diffuseColor=baseColor.rgb*(1.0-metal);material.specularColor=mix(vec3(f0),baseColor.rgb,metal);material.roughness=roughness;\n#else\nfloat specularStrength=max(max(specularColor.r,specularColor.g),specularColor.b);material.diffuseColor=baseColor.rgb*(1.0-specularStrength);material.specularColor=specularColor;material.roughness=1.0-glossiness;\n#endif\nmaterial.roughness=max(MIN_PERCEPTUAL_ROUGHNESS,min(material.roughness+getAARoughnessFactor(geometry.normal),1.0));\n#ifdef MATERIAL_ENABLE_CLEAR_COAT\nmaterial.clearCoat=material_ClearCoat;material.clearCoatRoughness=material_ClearCoatRoughness;\n#ifdef MATERIAL_HAS_CLEAR_COAT_TEXTURE\nmaterial.clearCoat*=texture2D(material_ClearCoatTexture,v_uv).r;\n#endif\n#ifdef MATERIAL_HAS_CLEAR_COAT_ROUGHNESS_TEXTURE\nmaterial.clearCoatRoughness*=texture2D(material_ClearCoatRoughnessTexture,v_uv).g;\n#endif\nmaterial.clearCoat=saturate(material.clearCoat);material.clearCoatRoughness=max(MIN_PERCEPTUAL_ROUGHNESS,min(material.clearCoatRoughness+getAARoughnessFactor(geometry.clearCoatNormal),1.0));\n#endif\n#ifdef MATERIAL_IS_TRANSPARENT\nmaterial.opacity=baseColor.a;\n#else\nmaterial.opacity=1.0;\n#endif\n#ifdef MATERIAL_ENABLE_ANISOTROPY\ngeometry.anisotropicN=getAnisotropicBentNormal(geometry,geometry.normal,material.roughness);\n#endif\n}\n#include <brdf>\n#include <direct_irradiance_frag_define>\n#include <ibl_frag_define>\n"; // eslint-disable-line
|
|
8236
8268
|
var brdf = "#define GLSLIFY 1\nfloat F_Schlick(float f0,float dotLH){return f0+0.96*(pow(1.0-dotLH,5.0));}vec3 F_Schlick(vec3 specularColor,float dotLH){float fresnel=exp2((-5.55473*dotLH-6.98316)*dotLH);return(1.0-specularColor)*fresnel+specularColor;}float G_GGX_SmithCorrelated(float alpha,float dotNL,float dotNV){float a2=pow2(alpha);float gv=dotNL*sqrt(a2+(1.0-a2)*pow2(dotNV));float gl=dotNV*sqrt(a2+(1.0-a2)*pow2(dotNL));return 0.5/max(gv+gl,EPSILON);}\n#ifdef MATERIAL_ENABLE_ANISOTROPY\nfloat G_GGX_SmithCorrelated_Anisotropic(float at,float ab,float ToV,float BoV,float ToL,float BoL,float NoV,float NoL){float lambdaV=NoL*length(vec3(at*ToV,ab*BoV,NoV));float lambdaL=NoV*length(vec3(at*ToL,ab*BoL,NoL));return 0.5/max(lambdaV+lambdaL,EPSILON);}\n#endif\nfloat D_GGX(float alpha,float dotNH){float a2=pow2(alpha);float denom=pow2(dotNH)*(a2-1.0)+1.0;return RECIPROCAL_PI*a2/pow2(denom);}\n#ifdef MATERIAL_ENABLE_ANISOTROPY\nfloat D_GGX_Anisotropic(float at,float ab,float ToH,float BoH,float NoH){float a2=at*ab;vec3 d=vec3(ab*ToH,at*BoH,a2*NoH);float d2=dot(d,d);float b2=a2/d2;return a2*b2*b2*RECIPROCAL_PI;}\n#endif\nvec3 isotropicLobe(vec3 specularColor,float alpha,float dotNV,float dotNL,float dotNH,float dotLH){vec3 F=F_Schlick(specularColor,dotLH);float D=D_GGX(alpha,dotNH);float G=G_GGX_SmithCorrelated(alpha,dotNL,dotNV);return F*(G*D);}\n#ifdef MATERIAL_ENABLE_ANISOTROPY\nvec3 anisotropicLobe(vec3 h,vec3 l,Geometry geometry,vec3 specularColor,float alpha,float dotNV,float dotNL,float dotNH,float dotLH){vec3 t=geometry.anisotropicT;vec3 b=geometry.anisotropicB;vec3 v=geometry.viewDir;float dotTV=dot(t,v);float dotBV=dot(b,v);float dotTL=dot(t,l);float dotBL=dot(b,l);float dotTH=dot(t,h);float dotBH=dot(b,h);float at=max(alpha*(1.0+geometry.anisotropy),MIN_ROUGHNESS);float ab=max(alpha*(1.0-geometry.anisotropy),MIN_ROUGHNESS);vec3 F=F_Schlick(specularColor,dotLH);float D=D_GGX_Anisotropic(at,ab,dotTH,dotBH,dotNH);float G=G_GGX_SmithCorrelated_Anisotropic(at,ab,dotTV,dotBV,dotTL,dotBL,dotNV,dotNL);return F*(G*D);}\n#endif\nvec3 BRDF_Specular_GGX(vec3 incidentDirection,Geometry geometry,vec3 normal,vec3 specularColor,float roughness){float alpha=pow2(roughness);vec3 halfDir=normalize(incidentDirection+geometry.viewDir);float dotNL=saturate(dot(normal,incidentDirection));float dotNV=saturate(dot(normal,geometry.viewDir));float dotNH=saturate(dot(normal,halfDir));float dotLH=saturate(dot(incidentDirection,halfDir));\n#ifdef MATERIAL_ENABLE_ANISOTROPY\nreturn anisotropicLobe(halfDir,incidentDirection,geometry,specularColor,alpha,dotNV,dotNL,dotNH,dotLH);\n#else\nreturn isotropicLobe(specularColor,alpha,dotNV,dotNL,dotNH,dotLH);\n#endif\n}vec3 BRDF_Diffuse_Lambert(vec3 diffuseColor){return RECIPROCAL_PI*diffuseColor;}"; // eslint-disable-line
|
|
8237
8269
|
var direct_irradiance_frag_define = "#define GLSLIFY 1\n#include <ShadowFragmentDeclaration>\nvoid addDirectRadiance(vec3 incidentDirection,vec3 color,Geometry geometry,Material material,inout ReflectedLight reflectedLight){float attenuation=1.0;\n#ifdef MATERIAL_ENABLE_CLEAR_COAT\nfloat clearCoatDotNL=saturate(dot(geometry.clearCoatNormal,incidentDirection));vec3 clearCoatIrradiance=clearCoatDotNL*color;reflectedLight.directSpecular+=material.clearCoat*clearCoatIrradiance*BRDF_Specular_GGX(incidentDirection,geometry,geometry.clearCoatNormal,vec3(0.04),material.clearCoatRoughness);attenuation-=material.clearCoat*F_Schlick(material.f0,geometry.clearCoatDotNV);\n#endif\nfloat dotNL=saturate(dot(geometry.normal,incidentDirection));vec3 irradiance=dotNL*color*PI;reflectedLight.directSpecular+=attenuation*irradiance*BRDF_Specular_GGX(incidentDirection,geometry,geometry.normal,material.specularColor,material.roughness);reflectedLight.directDiffuse+=attenuation*irradiance*BRDF_Diffuse_Lambert(material.diffuseColor);}\n#ifdef SCENE_DIRECT_LIGHT_COUNT\nvoid addDirectionalDirectLightRadiance(DirectLight directionalLight,Geometry geometry,Material material,inout ReflectedLight reflectedLight){vec3 color=directionalLight.color;vec3 direction=-directionalLight.direction;addDirectRadiance(direction,color,geometry,material,reflectedLight);}\n#endif\n#ifdef SCENE_POINT_LIGHT_COUNT\nvoid addPointDirectLightRadiance(PointLight pointLight,Geometry geometry,Material material,inout ReflectedLight reflectedLight){vec3 lVector=pointLight.position-geometry.position;vec3 direction=normalize(lVector);float lightDistance=length(lVector);vec3 color=pointLight.color;color*=clamp(1.0-pow(lightDistance/pointLight.distance,4.0),0.0,1.0);addDirectRadiance(direction,color,geometry,material,reflectedLight);}\n#endif\n#ifdef SCENE_SPOT_LIGHT_COUNT\nvoid addSpotDirectLightRadiance(SpotLight spotLight,Geometry geometry,Material material,inout ReflectedLight reflectedLight){vec3 lVector=spotLight.position-geometry.position;vec3 direction=normalize(lVector);float lightDistance=length(lVector);float angleCos=dot(direction,-spotLight.direction);float spotEffect=smoothstep(spotLight.penumbraCos,spotLight.angleCos,angleCos);float decayEffect=clamp(1.0-pow(lightDistance/spotLight.distance,4.0),0.0,1.0);vec3 color=spotLight.color;color*=spotEffect*decayEffect;addDirectRadiance(direction,color,geometry,material,reflectedLight);}\n#endif\nvoid addTotalDirectRadiance(Geometry geometry,Material material,inout ReflectedLight reflectedLight){float shadowAttenuation=1.0;\n#ifdef SCENE_DIRECT_LIGHT_COUNT\nshadowAttenuation=1.0;\n#ifdef SCENE_IS_CALCULATE_SHADOWS\nshadowAttenuation*=sampleShadowMap();\n#endif\nDirectLight directionalLight;for(int i=0;i<SCENE_DIRECT_LIGHT_COUNT;i++){if(!isRendererCulledByLight(renderer_Layer.xy,scene_DirectLightCullingMask[i])){directionalLight.color=scene_DirectLightColor[i];\n#ifdef SCENE_IS_CALCULATE_SHADOWS\nif(i==0){directionalLight.color*=shadowAttenuation;}\n#endif\ndirectionalLight.direction=scene_DirectLightDirection[i];addDirectionalDirectLightRadiance(directionalLight,geometry,material,reflectedLight);}}\n#endif\n#ifdef SCENE_POINT_LIGHT_COUNT\nPointLight pointLight;for(int i=0;i<SCENE_POINT_LIGHT_COUNT;i++){if(!isRendererCulledByLight(renderer_Layer.xy,scene_PointLightCullingMask[i])){pointLight.color=scene_PointLightColor[i];pointLight.position=scene_PointLightPosition[i];pointLight.distance=scene_PointLightDistance[i];addPointDirectLightRadiance(pointLight,geometry,material,reflectedLight);}}\n#endif\n#ifdef SCENE_SPOT_LIGHT_COUNT\nSpotLight spotLight;for(int i=0;i<SCENE_SPOT_LIGHT_COUNT;i++){if(!isRendererCulledByLight(renderer_Layer.xy,scene_SpotLightCullingMask[i])){spotLight.color=scene_SpotLightColor[i];spotLight.position=scene_SpotLightPosition[i];spotLight.direction=scene_SpotLightDirection[i];spotLight.distance=scene_SpotLightDistance[i];spotLight.angleCos=scene_SpotLightAngleCos[i];spotLight.penumbraCos=scene_SpotLightPenumbraCos[i];addSpotDirectLightRadiance(spotLight,geometry,material,reflectedLight);}}\n#endif\n}"; // eslint-disable-line
|
|
8238
|
-
var ibl_frag_define = "#define GLSLIFY 1\nvec3 getLightProbeIrradiance(vec3 sh[9],vec3 normal){normal.x=-normal.x;vec3 result=sh[0]+sh[1]*(normal.y)+sh[2]*(normal.z)+sh[3]*(normal.x)+sh[4]*(normal.y*normal.x)+sh[5]*(normal.y*normal.z)+sh[6]*(3.0*normal.z*normal.z-1.0)+sh[7]*(normal.z*normal.x)+sh[8]*(normal.x*normal.x-normal.y*normal.y);return max(result,vec3(0.0));}vec3 envBRDFApprox(vec3 specularColor,float roughness,float dotNV){const vec4 c0=vec4(-1,-0.0275,-0.572,0.022);const vec4 c1=vec4(1,0.0425,1.04,-0.04);vec4 r=roughness*c0+c1;float a004=min(r.x*r.x,exp2(-9.28*dotNV))*r.x+r.y;vec2 AB=vec2(-1.04,1.04)*a004+r.zw;return
|
|
8270
|
+
var ibl_frag_define = "#define GLSLIFY 1\nvec3 getLightProbeIrradiance(vec3 sh[9],vec3 normal){normal.x=-normal.x;vec3 result=sh[0]+sh[1]*(normal.y)+sh[2]*(normal.z)+sh[3]*(normal.x)+sh[4]*(normal.y*normal.x)+sh[5]*(normal.y*normal.z)+sh[6]*(3.0*normal.z*normal.z-1.0)+sh[7]*(normal.z*normal.x)+sh[8]*(normal.x*normal.x-normal.y*normal.y);return max(result,vec3(0.0));}vec3 envBRDFApprox(vec3 specularColor,float roughness,float dotNV){const vec4 c0=vec4(-1,-0.0275,-0.572,0.022);const vec4 c1=vec4(1,0.0425,1.04,-0.04);vec4 r=roughness*c0+c1;float a004=min(r.x*r.x,exp2(-9.28*dotNV))*r.x+r.y;vec2 AB=vec2(-1.04,1.04)*a004+r.zw;return specularColor*AB.x+AB.y;}float getSpecularMIPLevel(float roughness,int maxMIPLevel){return roughness*float(maxMIPLevel);}vec3 getReflectedVector(Geometry geometry,vec3 n){\n#ifdef MATERIAL_ENABLE_ANISOTROPY\nvec3 r=reflect(-geometry.viewDir,geometry.anisotropicN);\n#else\nvec3 r=reflect(-geometry.viewDir,n);\n#endif\nreturn r;}vec3 getLightProbeRadiance(Geometry geometry,vec3 normal,float roughness,int maxMIPLevel,float specularIntensity){\n#ifndef SCENE_USE_SPECULAR_ENV\nreturn vec3(0);\n#else\nvec3 reflectVec=getReflectedVector(geometry,normal);reflectVec.x=-reflectVec.x;float specularMIPLevel=getSpecularMIPLevel(roughness,maxMIPLevel);\n#ifdef HAS_TEX_LOD\nvec4 envMapColor=textureCubeLodEXT(scene_EnvSpecularSampler,reflectVec,specularMIPLevel);\n#else\nvec4 envMapColor=textureCube(scene_EnvSpecularSampler,reflectVec,specularMIPLevel);\n#endif\n#ifdef SCENE_IS_DECODE_ENV_RGBM\nenvMapColor.rgb=RGBMToLinear(envMapColor,5.0).rgb;\n#ifdef ENGINE_IS_COLORSPACE_GAMMA\nenvMapColor=linearToGamma(envMapColor);\n#endif\n#else\n#ifndef ENGINE_IS_COLORSPACE_GAMMA\nenvMapColor=gammaToLinear(envMapColor);\n#endif\n#endif\nreturn envMapColor.rgb*specularIntensity;\n#endif\n}"; // eslint-disable-line
|
|
8239
8271
|
var pbr_frag = "#define GLSLIFY 1\nGeometry geometry;Material material;ReflectedLight reflectedLight=ReflectedLight(vec3(0.0),vec3(0.0),vec3(0.0),vec3(0.0));initGeometry(geometry,gl_FrontFacing);initMaterial(material,geometry);addTotalDirectRadiance(geometry,material,reflectedLight);\n#ifdef SCENE_USE_SH\nvec3 irradiance=getLightProbeIrradiance(scene_EnvSH,geometry.normal);\n#ifdef ENGINE_IS_COLORSPACE_GAMMA\nirradiance=linearToGamma(vec4(irradiance,1.0)).rgb;\n#endif\nirradiance*=scene_EnvMapLight.diffuseIntensity;\n#else\nvec3 irradiance=scene_EnvMapLight.diffuse*scene_EnvMapLight.diffuseIntensity;irradiance*=PI;\n#endif\nreflectedLight.indirectDiffuse+=irradiance*BRDF_Diffuse_Lambert(material.diffuseColor);vec3 radiance=getLightProbeRadiance(geometry,geometry.normal,material.roughness,int(scene_EnvMapLight.mipMapLevel),scene_EnvMapLight.specularIntensity);float radianceAttenuation=1.0;\n#ifdef MATERIAL_ENABLE_CLEAR_COAT\nvec3 clearCoatRadiance=getLightProbeRadiance(geometry,geometry.clearCoatNormal,material.clearCoatRoughness,int(scene_EnvMapLight.mipMapLevel),scene_EnvMapLight.specularIntensity);reflectedLight.indirectSpecular+=clearCoatRadiance*material.clearCoat*envBRDFApprox(vec3(0.04),material.clearCoatRoughness,geometry.clearCoatDotNV);radianceAttenuation-=material.clearCoat*F_Schlick(material.f0,geometry.clearCoatDotNV);\n#endif\nreflectedLight.indirectSpecular+=radianceAttenuation*radiance*envBRDFApprox(material.specularColor,material.roughness,geometry.dotNV);\n#ifdef MATERIAL_HAS_OCCLUSION_TEXTURE\nvec2 aoUV=v_uv;\n#ifdef RENDERER_HAS_UV1\nif(material_OcclusionTextureCoord==1.0){aoUV=v_uv1;}\n#endif\nfloat ambientOcclusion=(texture2D(material_OcclusionTexture,aoUV).r-1.0)*material_OcclusionIntensity+1.0;reflectedLight.indirectDiffuse*=ambientOcclusion;\n#ifdef SCENE_USE_SPECULAR_ENV\nreflectedLight.indirectSpecular*=computeSpecularOcclusion(ambientOcclusion,material.roughness,geometry.dotNV);\n#endif\n#endif\nvec3 emissiveRadiance=material_EmissiveColor;\n#ifdef MATERIAL_HAS_EMISSIVETEXTURE\nvec4 emissiveColor=texture2D(material_EmissiveTexture,v_uv);\n#ifndef ENGINE_IS_COLORSPACE_GAMMA\nemissiveColor=gammaToLinear(emissiveColor);\n#endif\nemissiveRadiance*=emissiveColor.rgb;\n#endif\nvec3 totalRadiance=reflectedLight.directDiffuse+reflectedLight.indirectDiffuse+reflectedLight.directSpecular+reflectedLight.indirectSpecular+emissiveRadiance;vec4 targetColor=vec4(totalRadiance,material.opacity);gl_FragColor=targetColor;"; // eslint-disable-line
|
|
8240
8272
|
var PBRShaderLib = {
|
|
8241
8273
|
pbr_frag_define: pbr_frag_define,
|
|
@@ -9128,6 +9160,7 @@
|
|
|
9128
9160
|
/** @internal */ _this._shaderPassId = 0;
|
|
9129
9161
|
/** @internal */ _this._renderStateDataMap = {};
|
|
9130
9162
|
/** @internal */ _this._shaderProgramPools = [];
|
|
9163
|
+
/** @internal */ _this._path = "";
|
|
9131
9164
|
_this._platformMacros = [];
|
|
9132
9165
|
_this._shaderPassId = ShaderPass._shaderPassCounter++;
|
|
9133
9166
|
_this._type = ShaderType.Canonical;
|
|
@@ -9189,23 +9222,24 @@
|
|
|
9189
9222
|
/**
|
|
9190
9223
|
* Shader Lab compilation
|
|
9191
9224
|
*/ _proto._compileShaderProgram = function _compileShaderProgram(engine, macroCollection, vertexEntry, fragmentEntry) {
|
|
9225
|
+
var _this = this, path = _this._path, platformMacros = _this._platformMacros;
|
|
9192
9226
|
var isWebGL2 = engine._hardwareRenderer.isWebGL2;
|
|
9193
9227
|
var macros = new Array();
|
|
9194
9228
|
ShaderMacro._getMacrosElements(macroCollection, macros);
|
|
9195
|
-
|
|
9229
|
+
platformMacros.length = 0;
|
|
9196
9230
|
if (engine._hardwareRenderer.canIUse(exports.GLCapabilityType.shaderTextureLod)) {
|
|
9197
|
-
|
|
9231
|
+
platformMacros.push("HAS_TEX_LOD");
|
|
9198
9232
|
}
|
|
9199
9233
|
if (engine._hardwareRenderer.canIUse(exports.GLCapabilityType.standardDerivatives)) {
|
|
9200
|
-
|
|
9234
|
+
platformMacros.push("HAS_DERIVATIVES");
|
|
9201
9235
|
}
|
|
9202
9236
|
if (isWebGL2) {
|
|
9203
|
-
|
|
9237
|
+
platformMacros.push("GRAPHICS_API_WEBGL2");
|
|
9204
9238
|
} else {
|
|
9205
|
-
|
|
9239
|
+
platformMacros.push("GRAPHICS_API_WEBGL1");
|
|
9206
9240
|
}
|
|
9207
9241
|
var start = performance.now();
|
|
9208
|
-
var _Shader__shaderLab__parseShaderPass = Shader._shaderLab._parseShaderPass(this._shaderLabSource, vertexEntry, fragmentEntry, macros, isWebGL2 ? exports.ShaderPlatformTarget.GLES300 : exports.ShaderPlatformTarget.GLES100,
|
|
9242
|
+
var _Shader__shaderLab__parseShaderPass = Shader._shaderLab._parseShaderPass(this._shaderLabSource, vertexEntry, fragmentEntry, macros, isWebGL2 ? exports.ShaderPlatformTarget.GLES300 : exports.ShaderPlatformTarget.GLES100, platformMacros, new URL(path, ShaderPass._shaderRootPath).href), vertex = _Shader__shaderLab__parseShaderPass.vertex, fragment = _Shader__shaderLab__parseShaderPass.fragment;
|
|
9209
9243
|
Logger.info("[ShaderLab compilation] cost time: " + (performance.now() - start) + "ms");
|
|
9210
9244
|
return new ShaderProgram(engine, vertex, fragment);
|
|
9211
9245
|
};
|
|
@@ -9238,6 +9272,9 @@
|
|
|
9238
9272
|
(function() {
|
|
9239
9273
|
ShaderPass._shaderPassCounter = 0;
|
|
9240
9274
|
})();
|
|
9275
|
+
(function() {
|
|
9276
|
+
/** @internal */ ShaderPass._shaderRootPath = "shaders://root/";
|
|
9277
|
+
})();
|
|
9241
9278
|
/**
|
|
9242
9279
|
* Sub shader.
|
|
9243
9280
|
*/ var SubShader = /*#__PURE__*/ function(ShaderPart1) {
|
|
@@ -9866,6 +9903,18 @@
|
|
|
9866
9903
|
};
|
|
9867
9904
|
var _proto = Shader.prototype;
|
|
9868
9905
|
/**
|
|
9906
|
+
* @internal
|
|
9907
|
+
* path should follow the specifications of [URL.origin](https://developer.mozilla.org/en-US/docs/Web/API/URL/origin), like: `shaders://root/`
|
|
9908
|
+
*/ _proto._registerPath = function _registerPath(path) {
|
|
9909
|
+
for(var _iterator = _create_for_of_iterator_helper_loose$1(this._subShaders), _step; !(_step = _iterator()).done;){
|
|
9910
|
+
var subShader = _step.value;
|
|
9911
|
+
for(var _iterator1 = _create_for_of_iterator_helper_loose$1(subShader.passes), _step1; !(_step1 = _iterator1()).done;){
|
|
9912
|
+
var shaderPass = _step1.value;
|
|
9913
|
+
shaderPass._path = path;
|
|
9914
|
+
}
|
|
9915
|
+
}
|
|
9916
|
+
};
|
|
9917
|
+
/**
|
|
9869
9918
|
* Compile shader variant by macro name list.
|
|
9870
9919
|
*
|
|
9871
9920
|
* @remarks
|
|
@@ -15075,14 +15124,17 @@
|
|
|
15075
15124
|
var replacementSubShaders = replacementShader.subShaders;
|
|
15076
15125
|
var replacementTag = context.replacementTag;
|
|
15077
15126
|
if (replacementTag) {
|
|
15127
|
+
var replacementSuccess = false;
|
|
15078
15128
|
for(var j = 0, m = replacementSubShaders.length; j < m; j++){
|
|
15079
15129
|
var subShader = replacementSubShaders[j];
|
|
15080
15130
|
if (subShader.getTagValue(replacementTag) === materialSubShader.getTagValue(replacementTag)) {
|
|
15081
15131
|
this.pushRenderElementByType(renderElement, subRenderElement, subShader.passes, renderStates);
|
|
15082
|
-
|
|
15132
|
+
replacementSuccess = true;
|
|
15083
15133
|
}
|
|
15084
15134
|
}
|
|
15085
|
-
context.replacementFailureStrategy === exports.ReplacementFailureStrategy.KeepOriginalShader
|
|
15135
|
+
if (!replacementSuccess && context.replacementFailureStrategy === exports.ReplacementFailureStrategy.KeepOriginalShader) {
|
|
15136
|
+
this.pushRenderElementByType(renderElement, subRenderElement, materialSubShader.passes, renderStates);
|
|
15137
|
+
}
|
|
15086
15138
|
} else {
|
|
15087
15139
|
this.pushRenderElementByType(renderElement, subRenderElement, replacementSubShaders[0].passes, renderStates);
|
|
15088
15140
|
}
|
|
@@ -15660,7 +15712,7 @@
|
|
|
15660
15712
|
if (info) {
|
|
15661
15713
|
return info;
|
|
15662
15714
|
}
|
|
15663
|
-
info = TextUtils._measureFontOrChar(fontString);
|
|
15715
|
+
info = TextUtils._measureFontOrChar(fontString, TextUtils._measureString, false);
|
|
15664
15716
|
fontSizeInfoCache[fontString] = info;
|
|
15665
15717
|
return info;
|
|
15666
15718
|
};
|
|
@@ -15681,7 +15733,7 @@
|
|
|
15681
15733
|
return str;
|
|
15682
15734
|
};
|
|
15683
15735
|
TextUtils.measureChar = function measureChar(char, fontString) {
|
|
15684
|
-
return TextUtils._measureFontOrChar(fontString, char);
|
|
15736
|
+
return TextUtils._measureFontOrChar(fontString, char, true);
|
|
15685
15737
|
};
|
|
15686
15738
|
TextUtils.measureTextWithWrap = function measureTextWithWrap(renderer) {
|
|
15687
15739
|
var subFont = renderer._getSubFont();
|
|
@@ -15900,15 +15952,15 @@
|
|
|
15900
15952
|
};
|
|
15901
15953
|
/**
|
|
15902
15954
|
* @internal
|
|
15903
|
-
*/ TextUtils._measureFontOrChar = function _measureFontOrChar(fontString,
|
|
15904
|
-
if (char === void 0) char = "";
|
|
15955
|
+
*/ TextUtils._measureFontOrChar = function _measureFontOrChar(fontString, measureString, isChar) {
|
|
15905
15956
|
var _TextUtils_textContext = TextUtils.textContext(), canvas = _TextUtils_textContext.canvas, context = _TextUtils_textContext.context;
|
|
15906
15957
|
context.font = fontString;
|
|
15907
|
-
var measureString = char || TextUtils._measureString;
|
|
15908
15958
|
// Safari gets data confusion through getImageData when the canvas width is not an integer.
|
|
15909
15959
|
// The measure text width of some special invisible characters may be 0, so make sure the width is at least 1.
|
|
15910
15960
|
// @todo: Text layout may vary from standard and not support emoji.
|
|
15911
|
-
var
|
|
15961
|
+
var textMetrics = context.measureText(measureString);
|
|
15962
|
+
// In some case (ex: " "), actualBoundingBoxRight and actualBoundingBoxLeft will be 0, so use width.
|
|
15963
|
+
var width = Math.max(1, Math.round(textMetrics.actualBoundingBoxRight - textMetrics.actualBoundingBoxLeft || textMetrics.width));
|
|
15912
15964
|
var baseline = Math.ceil(context.measureText(TextUtils._measureBaseline).width);
|
|
15913
15965
|
var height = baseline * TextUtils._heightMultiplier;
|
|
15914
15966
|
baseline = TextUtils._baselineMultiplier * baseline | 0;
|
|
@@ -15953,12 +16005,7 @@
|
|
|
15953
16005
|
descent = bottom - baseline + 1;
|
|
15954
16006
|
size = ascent + descent;
|
|
15955
16007
|
}
|
|
15956
|
-
|
|
15957
|
-
ascent: ascent,
|
|
15958
|
-
descent: descent,
|
|
15959
|
-
size: size
|
|
15960
|
-
};
|
|
15961
|
-
if (char) {
|
|
16008
|
+
if (isChar) {
|
|
15962
16009
|
var data = null;
|
|
15963
16010
|
if (size > 0) {
|
|
15964
16011
|
var lineIntegerW = integerW * 4;
|
|
@@ -15966,7 +16013,7 @@
|
|
|
15966
16013
|
data = new Uint8Array(colorData.buffer, top * lineIntegerW, size * lineIntegerW);
|
|
15967
16014
|
}
|
|
15968
16015
|
return {
|
|
15969
|
-
char:
|
|
16016
|
+
char: measureString,
|
|
15970
16017
|
x: 0,
|
|
15971
16018
|
y: 0,
|
|
15972
16019
|
w: width,
|
|
@@ -15986,7 +16033,11 @@
|
|
|
15986
16033
|
data: data
|
|
15987
16034
|
};
|
|
15988
16035
|
} else {
|
|
15989
|
-
return
|
|
16036
|
+
return {
|
|
16037
|
+
ascent: ascent,
|
|
16038
|
+
descent: descent,
|
|
16039
|
+
size: size
|
|
16040
|
+
};
|
|
15990
16041
|
}
|
|
15991
16042
|
};
|
|
15992
16043
|
/**
|
|
@@ -22135,6 +22186,33 @@
|
|
|
22135
22186
|
(function() {
|
|
22136
22187
|
PrimitiveMesh._spherePoleIdx = 0;
|
|
22137
22188
|
})();
|
|
22189
|
+
function _is_native_reflect_construct$1() {
|
|
22190
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
22191
|
+
if (Reflect.construct.sham) return false;
|
|
22192
|
+
if (typeof Proxy === "function") return true;
|
|
22193
|
+
try {
|
|
22194
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
22195
|
+
return true;
|
|
22196
|
+
} catch (e) {
|
|
22197
|
+
return false;
|
|
22198
|
+
}
|
|
22199
|
+
}
|
|
22200
|
+
function _construct$1(Parent, args, Class) {
|
|
22201
|
+
if (_is_native_reflect_construct$1()) _construct$1 = Reflect.construct;
|
|
22202
|
+
else {
|
|
22203
|
+
_construct$1 = function construct(Parent, args, Class) {
|
|
22204
|
+
var a = [
|
|
22205
|
+
null
|
|
22206
|
+
];
|
|
22207
|
+
a.push.apply(a, args);
|
|
22208
|
+
var Constructor = Function.bind.apply(Parent, a);
|
|
22209
|
+
var instance = new Constructor();
|
|
22210
|
+
if (Class) _set_prototype_of$2(instance, Class.prototype);
|
|
22211
|
+
return instance;
|
|
22212
|
+
};
|
|
22213
|
+
}
|
|
22214
|
+
return _construct$1.apply(null, arguments);
|
|
22215
|
+
}
|
|
22138
22216
|
var ComponentCloner = /*#__PURE__*/ function() {
|
|
22139
22217
|
var ComponentCloner = function ComponentCloner() {};
|
|
22140
22218
|
/**
|
|
@@ -22181,10 +22259,14 @@
|
|
|
22181
22259
|
/**
|
|
22182
22260
|
* Add component based on the component type.
|
|
22183
22261
|
* @param type - The type of the component
|
|
22262
|
+
* @param args - The arguments of the component
|
|
22184
22263
|
* @returns The component which has been added
|
|
22185
22264
|
*/ _proto.addComponent = function addComponent(type) {
|
|
22265
|
+
for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
22266
|
+
args[_key - 1] = arguments[_key];
|
|
22267
|
+
}
|
|
22186
22268
|
ComponentsDependencies._addCheck(this, type);
|
|
22187
|
-
var component =
|
|
22269
|
+
var component = _construct$1(type, [].concat(this, args));
|
|
22188
22270
|
this._components.push(component);
|
|
22189
22271
|
component._setActive(true, ActiveChangeFlag.All);
|
|
22190
22272
|
return component;
|
|
@@ -23698,6 +23780,15 @@
|
|
|
23698
23780
|
this._loopArrayDirty = true;
|
|
23699
23781
|
};
|
|
23700
23782
|
/**
|
|
23783
|
+
* Remove item from array that pass the specified comparison function.
|
|
23784
|
+
* @param filter - The comparison function
|
|
23785
|
+
*/ _proto.findAndRemove = function findAndRemove(filter) {
|
|
23786
|
+
var array = this._array;
|
|
23787
|
+
for(var i = array.length - 1; i >= 0; i--){
|
|
23788
|
+
filter(array[i]) && this.removeByIndex(i);
|
|
23789
|
+
}
|
|
23790
|
+
};
|
|
23791
|
+
/**
|
|
23701
23792
|
* The index of the item.
|
|
23702
23793
|
* @param item - The item which want to get the index
|
|
23703
23794
|
* @returns Index of the item
|
|
@@ -24127,17 +24218,33 @@
|
|
|
24127
24218
|
};
|
|
24128
24219
|
/**
|
|
24129
24220
|
* @internal
|
|
24130
|
-
*/ _proto._onSubAssetSuccess = function _onSubAssetSuccess(
|
|
24131
|
-
var
|
|
24132
|
-
(
|
|
24133
|
-
|
|
24221
|
+
*/ _proto._onSubAssetSuccess = function _onSubAssetSuccess(assetBaseURL, assetSubPath, value) {
|
|
24222
|
+
var _this__subAssetPromiseCallbacks_assetBaseURL;
|
|
24223
|
+
var subPromiseCallback = (_this__subAssetPromiseCallbacks_assetBaseURL = this._subAssetPromiseCallbacks[assetBaseURL]) == null ? void 0 : _this__subAssetPromiseCallbacks_assetBaseURL[assetSubPath];
|
|
24224
|
+
if (subPromiseCallback) {
|
|
24225
|
+
// Already resolved
|
|
24226
|
+
subPromiseCallback.resolve(value);
|
|
24227
|
+
} else {
|
|
24228
|
+
var _this__subAssetPromiseCallbacks, _assetBaseURL;
|
|
24229
|
+
((_this__subAssetPromiseCallbacks = this._subAssetPromiseCallbacks)[_assetBaseURL = assetBaseURL] || (_this__subAssetPromiseCallbacks[_assetBaseURL] = {}))[assetSubPath] = {
|
|
24230
|
+
resolve: value
|
|
24231
|
+
};
|
|
24232
|
+
}
|
|
24134
24233
|
};
|
|
24135
24234
|
/**
|
|
24136
24235
|
* @internal
|
|
24137
|
-
*/ _proto._onSubAssetFail = function _onSubAssetFail(
|
|
24138
|
-
var
|
|
24139
|
-
(
|
|
24140
|
-
|
|
24236
|
+
*/ _proto._onSubAssetFail = function _onSubAssetFail(assetBaseURL, assetSubPath, value) {
|
|
24237
|
+
var _this__subAssetPromiseCallbacks_assetBaseURL;
|
|
24238
|
+
var subPromiseCallback = (_this__subAssetPromiseCallbacks_assetBaseURL = this._subAssetPromiseCallbacks[assetBaseURL]) == null ? void 0 : _this__subAssetPromiseCallbacks_assetBaseURL[assetSubPath];
|
|
24239
|
+
if (subPromiseCallback) {
|
|
24240
|
+
// Already rejected
|
|
24241
|
+
subPromiseCallback.reject(value);
|
|
24242
|
+
} else {
|
|
24243
|
+
var _this__subAssetPromiseCallbacks, _assetBaseURL;
|
|
24244
|
+
((_this__subAssetPromiseCallbacks = this._subAssetPromiseCallbacks)[_assetBaseURL = assetBaseURL] || (_this__subAssetPromiseCallbacks[_assetBaseURL] = {}))[assetSubPath] = {
|
|
24245
|
+
reject: value
|
|
24246
|
+
};
|
|
24247
|
+
}
|
|
24141
24248
|
};
|
|
24142
24249
|
/**
|
|
24143
24250
|
* @internal
|
|
@@ -24282,8 +24389,21 @@
|
|
|
24282
24389
|
if (!loader) {
|
|
24283
24390
|
throw "loader not found: " + item.type;
|
|
24284
24391
|
}
|
|
24285
|
-
//
|
|
24392
|
+
// Check sub asset
|
|
24393
|
+
if (queryPath) {
|
|
24394
|
+
// Check whether load main asset
|
|
24395
|
+
var mainPromise = loadingPromises[assetBaseURL] || this._loadMainAsset(loader, item, assetBaseURL);
|
|
24396
|
+
mainPromise.catch(function(e) {
|
|
24397
|
+
_this._onSubAssetFail(assetBaseURL, queryPath, e);
|
|
24398
|
+
});
|
|
24399
|
+
return this._createSubAssetPromiseCallback(assetBaseURL, assetURL, queryPath);
|
|
24400
|
+
}
|
|
24401
|
+
return this._loadMainAsset(loader, item, assetBaseURL);
|
|
24402
|
+
};
|
|
24403
|
+
_proto._loadMainAsset = function _loadMainAsset(loader, item, assetBaseURL) {
|
|
24404
|
+
var _this = this;
|
|
24286
24405
|
item.url = assetBaseURL;
|
|
24406
|
+
var loadingPromises = this._loadingPromises;
|
|
24287
24407
|
var promise = loader.load(item, this);
|
|
24288
24408
|
loadingPromises[assetBaseURL] = promise;
|
|
24289
24409
|
promise.then(function(resource) {
|
|
@@ -24291,32 +24411,46 @@
|
|
|
24291
24411
|
_this._addAsset(assetBaseURL, resource);
|
|
24292
24412
|
}
|
|
24293
24413
|
delete loadingPromises[assetBaseURL];
|
|
24414
|
+
_this._releaseSubAssetPromiseCallback(assetBaseURL);
|
|
24294
24415
|
}, function() {
|
|
24295
|
-
|
|
24416
|
+
delete loadingPromises[assetBaseURL];
|
|
24417
|
+
_this._releaseSubAssetPromiseCallback(assetBaseURL);
|
|
24296
24418
|
});
|
|
24297
|
-
|
|
24298
|
-
|
|
24299
|
-
|
|
24300
|
-
|
|
24301
|
-
|
|
24302
|
-
|
|
24419
|
+
return promise;
|
|
24420
|
+
};
|
|
24421
|
+
_proto._createSubAssetPromiseCallback = function _createSubAssetPromiseCallback(assetBaseURL, assetURL, assetSubPath) {
|
|
24422
|
+
var _this = this;
|
|
24423
|
+
var _this__subAssetPromiseCallbacks_assetBaseURL, _subPromiseCallback, _subPromiseCallback1;
|
|
24424
|
+
var loadingPromises = this._loadingPromises;
|
|
24425
|
+
var subPromiseCallback = (_this__subAssetPromiseCallbacks_assetBaseURL = this._subAssetPromiseCallbacks[assetBaseURL]) == null ? void 0 : _this__subAssetPromiseCallbacks_assetBaseURL[assetSubPath];
|
|
24426
|
+
var resolvedValue = (_subPromiseCallback = subPromiseCallback) == null ? void 0 : _subPromiseCallback.resolve;
|
|
24427
|
+
var rejectedValue = (_subPromiseCallback1 = subPromiseCallback) == null ? void 0 : _subPromiseCallback1.reject;
|
|
24428
|
+
var promise = new AssetPromise(function(resolve, reject) {
|
|
24429
|
+
if (resolvedValue) {
|
|
24430
|
+
// Already resolved
|
|
24431
|
+
resolve(resolvedValue);
|
|
24432
|
+
} else if (rejectedValue) {
|
|
24433
|
+
// Already rejected
|
|
24434
|
+
reject(rejectedValue);
|
|
24435
|
+
} else {
|
|
24436
|
+
var _this__subAssetPromiseCallbacks, _assetBaseURL;
|
|
24437
|
+
// Pending
|
|
24438
|
+
loadingPromises[assetURL] = promise;
|
|
24439
|
+
((_this__subAssetPromiseCallbacks = _this._subAssetPromiseCallbacks)[_assetBaseURL = assetBaseURL] || (_this__subAssetPromiseCallbacks[_assetBaseURL] = {}))[assetSubPath] = {
|
|
24440
|
+
resolve: resolve,
|
|
24441
|
+
reject: reject
|
|
24442
|
+
};
|
|
24443
|
+
}
|
|
24444
|
+
});
|
|
24445
|
+
if (!resolvedValue && !rejectedValue) {
|
|
24446
|
+
promise.then(function() {
|
|
24303
24447
|
delete loadingPromises[assetURL];
|
|
24304
24448
|
}, function() {
|
|
24305
24449
|
return delete loadingPromises[assetURL];
|
|
24306
24450
|
});
|
|
24307
|
-
promise.catch(function(e) {
|
|
24308
|
-
_this._onSubAssetFail(assetURL, e);
|
|
24309
|
-
});
|
|
24310
|
-
return subPromise;
|
|
24311
24451
|
}
|
|
24312
24452
|
return promise;
|
|
24313
24453
|
};
|
|
24314
|
-
_proto._pushSubAssetPromiseCallback = function _pushSubAssetPromiseCallback(assetURL, resolve, reject) {
|
|
24315
|
-
this._subAssetPromiseCallbacks[assetURL] = {
|
|
24316
|
-
resolve: resolve,
|
|
24317
|
-
reject: reject
|
|
24318
|
-
};
|
|
24319
|
-
};
|
|
24320
24454
|
_proto._gc = function _gc(forceDestroy) {
|
|
24321
24455
|
var objects = Utils.objectValues(this._referResourcePool);
|
|
24322
24456
|
for(var i = 0, n = objects.length; i < n; i++){
|
|
@@ -24373,6 +24507,9 @@
|
|
|
24373
24507
|
});
|
|
24374
24508
|
return result;
|
|
24375
24509
|
};
|
|
24510
|
+
_proto._releaseSubAssetPromiseCallback = function _releaseSubAssetPromiseCallback(assetBaseURL) {
|
|
24511
|
+
delete this._subAssetPromiseCallbacks[assetBaseURL];
|
|
24512
|
+
};
|
|
24376
24513
|
/**
|
|
24377
24514
|
* @internal
|
|
24378
24515
|
* @beta Just for internal editor, not recommended for developers.
|
|
@@ -29087,9 +29224,9 @@
|
|
|
29087
29224
|
/** Shadow bias.*/ _this.shadowBias = 1;
|
|
29088
29225
|
/** Shadow mapping normal-based bias. */ _this.shadowNormalBias = 1;
|
|
29089
29226
|
/** Near plane value to use for shadow frustums. */ _this.shadowNearPlane = 0.1;
|
|
29090
|
-
/** Shadow intensity, the larger the value, the clearer and darker the shadow. */ _this.shadowStrength = 1.0;
|
|
29091
29227
|
/** @internal */ _this._lightIndex = -1;
|
|
29092
29228
|
/** @internal */ _this._lightColor = new Color();
|
|
29229
|
+
_this._shadowStrength = 1.0;
|
|
29093
29230
|
_this._color = new Color(1, 1, 1, 1);
|
|
29094
29231
|
return _this;
|
|
29095
29232
|
};
|
|
@@ -29106,6 +29243,15 @@
|
|
|
29106
29243
|
return this._lightColor;
|
|
29107
29244
|
};
|
|
29108
29245
|
_create_class$2(Light, [
|
|
29246
|
+
{
|
|
29247
|
+
key: "shadowStrength",
|
|
29248
|
+
get: /** Shadow intensity, the larger the value, the clearer and darker the shadow, range [0,1]. */ function get() {
|
|
29249
|
+
return this._shadowStrength;
|
|
29250
|
+
},
|
|
29251
|
+
set: function set(value) {
|
|
29252
|
+
this._shadowStrength = MathUtil.clamp(value, 0, 1);
|
|
29253
|
+
}
|
|
29254
|
+
},
|
|
29109
29255
|
{
|
|
29110
29256
|
key: "color",
|
|
29111
29257
|
get: /**
|
|
@@ -29812,7 +29958,7 @@
|
|
|
29812
29958
|
return this._scatter;
|
|
29813
29959
|
},
|
|
29814
29960
|
set: function set(value) {
|
|
29815
|
-
value =
|
|
29961
|
+
value = MathUtil.clamp(value, 0, 1);
|
|
29816
29962
|
if (value !== this._scatter) {
|
|
29817
29963
|
this._scatter = value;
|
|
29818
29964
|
var params = this._bloomMaterial.shaderData.getVector4(BloomEffect._bloomParams);
|
|
@@ -32865,10 +33011,7 @@
|
|
|
32865
33011
|
/**
|
|
32866
33012
|
* @internal
|
|
32867
33013
|
*/ _proto._onEnable = function _onEnable() {
|
|
32868
|
-
|
|
32869
|
-
for(var i = 0, n = layersData.length; i < n; i++){
|
|
32870
|
-
layersData[i].layerState = LayerState.Standby;
|
|
32871
|
-
}
|
|
33014
|
+
this._reset();
|
|
32872
33015
|
this._entity.getComponentsIncludeChildren(exports.Renderer, this._controlledRenderers);
|
|
32873
33016
|
};
|
|
32874
33017
|
/**
|
|
@@ -33418,8 +33561,11 @@
|
|
|
33418
33561
|
if (exitTime >= lastClipTime) {
|
|
33419
33562
|
playState.currentTransitionIndex = Math.min(transitionIndex + 1, n - 1);
|
|
33420
33563
|
if (this._checkConditions(state, transition)) {
|
|
33421
|
-
this._applyTransition(layerIndex, layerData, stateMachine, transition)
|
|
33422
|
-
|
|
33564
|
+
if (this._applyTransition(layerIndex, layerData, stateMachine, transition)) {
|
|
33565
|
+
return transition;
|
|
33566
|
+
} else {
|
|
33567
|
+
return null;
|
|
33568
|
+
}
|
|
33423
33569
|
}
|
|
33424
33570
|
}
|
|
33425
33571
|
}
|
|
@@ -33438,8 +33584,11 @@
|
|
|
33438
33584
|
if (exitTime <= lastClipTime) {
|
|
33439
33585
|
playState.currentTransitionIndex = Math.max(transitionIndex - 1, 0);
|
|
33440
33586
|
if (this._checkConditions(state, transition)) {
|
|
33441
|
-
this._applyTransition(layerIndex, layerData, stateMachine, transition)
|
|
33442
|
-
|
|
33587
|
+
if (this._applyTransition(layerIndex, layerData, stateMachine, transition)) {
|
|
33588
|
+
return transition;
|
|
33589
|
+
} else {
|
|
33590
|
+
return null;
|
|
33591
|
+
}
|
|
33443
33592
|
}
|
|
33444
33593
|
}
|
|
33445
33594
|
}
|
|
@@ -33449,8 +33598,11 @@
|
|
|
33449
33598
|
for(var i = 0, n = transitions.length; i < n; i++){
|
|
33450
33599
|
var transition = transitions[i];
|
|
33451
33600
|
if (this._checkConditions(state, transition)) {
|
|
33452
|
-
this._applyTransition(layerIndex, layerData, stateMachine, transition)
|
|
33453
|
-
|
|
33601
|
+
if (this._applyTransition(layerIndex, layerData, stateMachine, transition)) {
|
|
33602
|
+
return transition;
|
|
33603
|
+
} else {
|
|
33604
|
+
return null;
|
|
33605
|
+
}
|
|
33454
33606
|
}
|
|
33455
33607
|
}
|
|
33456
33608
|
};
|
|
@@ -33470,11 +33622,12 @@
|
|
|
33470
33622
|
};
|
|
33471
33623
|
_proto._applyTransition = function _applyTransition(layerIndex, layerData, stateMachine, transition) {
|
|
33472
33624
|
// Need prepare first, it should crossFade when to exit
|
|
33473
|
-
this._prepareCrossFadeByTransition(transition, layerIndex);
|
|
33625
|
+
var success = this._prepareCrossFadeByTransition(transition, layerIndex);
|
|
33474
33626
|
if (transition.isExit) {
|
|
33475
33627
|
this._checkAnyAndEntryState(layerIndex, layerData, stateMachine);
|
|
33476
|
-
return;
|
|
33628
|
+
return true;
|
|
33477
33629
|
}
|
|
33630
|
+
return success;
|
|
33478
33631
|
};
|
|
33479
33632
|
_proto._checkConditions = function _checkConditions(state, transition) {
|
|
33480
33633
|
var _state;
|
|
@@ -33486,6 +33639,9 @@
|
|
|
33486
33639
|
var pass = false;
|
|
33487
33640
|
var _conditions_i = conditions[i], mode = _conditions_i.mode, name1 = _conditions_i.parameterName, threshold = _conditions_i.threshold;
|
|
33488
33641
|
var parameter = this.getParameter(name1);
|
|
33642
|
+
if (!parameter) {
|
|
33643
|
+
return false;
|
|
33644
|
+
}
|
|
33489
33645
|
switch(mode){
|
|
33490
33646
|
case exports.AnimatorConditionMode.Equals:
|
|
33491
33647
|
if (parameter.value === threshold) {
|
|
@@ -38748,9 +38904,11 @@
|
|
|
38748
38904
|
get AnimationVector3Curve () { return exports.AnimationVector3Curve; },
|
|
38749
38905
|
get AnimationVector4Curve () { return exports.AnimationVector4Curve; },
|
|
38750
38906
|
Animator: Animator,
|
|
38907
|
+
AnimatorCondition: AnimatorCondition,
|
|
38751
38908
|
get AnimatorConditionMode () { return exports.AnimatorConditionMode; },
|
|
38752
38909
|
AnimatorController: AnimatorController,
|
|
38753
38910
|
AnimatorControllerLayer: AnimatorControllerLayer,
|
|
38911
|
+
AnimatorControllerParameter: AnimatorControllerParameter,
|
|
38754
38912
|
get AnimatorCullingMode () { return exports.AnimatorCullingMode; },
|
|
38755
38913
|
get AnimatorLayerBlendingMode () { return exports.AnimatorLayerBlendingMode; },
|
|
38756
38914
|
AnimatorLayerMask: AnimatorLayerMask,
|
|
@@ -38842,6 +39000,7 @@
|
|
|
38842
39000
|
Keyframe: Keyframe,
|
|
38843
39001
|
get Keys () { return exports.Keys; },
|
|
38844
39002
|
get Layer () { return exports.Layer; },
|
|
39003
|
+
LayerPathMask: LayerPathMask,
|
|
38845
39004
|
Light: Light,
|
|
38846
39005
|
Loader: Loader,
|
|
38847
39006
|
Logger: Logger,
|
|
@@ -38899,6 +39058,7 @@
|
|
|
38899
39058
|
ResourceManager: ResourceManager,
|
|
38900
39059
|
ReturnableObjectPool: ReturnableObjectPool,
|
|
38901
39060
|
RotationOverLifetimeModule: RotationOverLifetimeModule,
|
|
39061
|
+
SafeLoopArray: SafeLoopArray,
|
|
38902
39062
|
Scene: Scene,
|
|
38903
39063
|
SceneManager: SceneManager,
|
|
38904
39064
|
Script: Script,
|
|
@@ -42367,9 +42527,9 @@
|
|
|
42367
42527
|
_proto.load = function load(item, resourceManager) {
|
|
42368
42528
|
var _this = this;
|
|
42369
42529
|
return new AssetPromise(function(resolve, reject) {
|
|
42370
|
-
_this.request(item.url, {
|
|
42530
|
+
_this.request(item.url, _extends({}, item, {
|
|
42371
42531
|
type: "arraybuffer"
|
|
42372
|
-
}).then(function(data) {
|
|
42532
|
+
})).then(function(data) {
|
|
42373
42533
|
decode(data, resourceManager.engine).then(function(mesh) {
|
|
42374
42534
|
resolve(mesh);
|
|
42375
42535
|
});
|
|
@@ -42392,9 +42552,9 @@
|
|
|
42392
42552
|
_proto.load = function load(item, resourceManager) {
|
|
42393
42553
|
var _this = this;
|
|
42394
42554
|
return new AssetPromise(function(resolve, reject) {
|
|
42395
|
-
_this.request(item.url, {
|
|
42555
|
+
_this.request(item.url, _extends({}, item, {
|
|
42396
42556
|
type: "arraybuffer"
|
|
42397
|
-
}).then(function(data) {
|
|
42557
|
+
})).then(function(data) {
|
|
42398
42558
|
decode(data, resourceManager.engine).then(function(texture) {
|
|
42399
42559
|
resolve(texture);
|
|
42400
42560
|
});
|
|
@@ -42485,7 +42645,7 @@
|
|
|
42485
42645
|
type: "json"
|
|
42486
42646
|
})).then(function(data) {
|
|
42487
42647
|
var animatorController = new AnimatorController();
|
|
42488
|
-
var layers = data.layers;
|
|
42648
|
+
var layers = data.layers, parameters = data.parameters;
|
|
42489
42649
|
var promises = [];
|
|
42490
42650
|
layers.forEach(function(layerData, layerIndex) {
|
|
42491
42651
|
var name = layerData.name, blendingMode = layerData.blendingMode, weight = layerData.weight, stateMachineData = layerData.stateMachine;
|
|
@@ -42493,21 +42653,21 @@
|
|
|
42493
42653
|
layer.blendingMode = blendingMode;
|
|
42494
42654
|
layer.weight = weight;
|
|
42495
42655
|
if (stateMachineData) {
|
|
42496
|
-
var states = stateMachineData.states;
|
|
42497
|
-
var stateMachine = layer.stateMachine
|
|
42656
|
+
var states = stateMachineData.states, transitions = stateMachineData.transitions, entryTransitions = stateMachineData.entryTransitions, anyTransitions = stateMachineData.anyTransitions;
|
|
42657
|
+
var stateMachine = layer.stateMachine;
|
|
42658
|
+
var statesMap = {};
|
|
42659
|
+
var transitionsMap = {};
|
|
42498
42660
|
states.forEach(function(stateData, stateIndex) {
|
|
42499
|
-
var
|
|
42500
|
-
var name = stateData.name, speed = stateData.speed, wrapMode = stateData.wrapMode, clipStartNormalizedTime = stateData.clipStartNormalizedTime, clipEndNormalizedTime = stateData.clipEndNormalizedTime, isDefaultState = stateData.isDefaultState, clipData = stateData.clip, scripts = stateData.scripts;
|
|
42661
|
+
var id = stateData.id, name = stateData.name, speed = stateData.speed, wrapMode = stateData.wrapMode, clipStartNormalizedTime = stateData.clipStartNormalizedTime, clipEndNormalizedTime = stateData.clipEndNormalizedTime, clipData = stateData.clip, scripts = stateData.scripts;
|
|
42501
42662
|
var state = stateMachine.addState(name);
|
|
42502
|
-
isDefaultState && (stateMachine.defaultState = state);
|
|
42503
42663
|
state.speed = speed;
|
|
42504
42664
|
state.wrapMode = wrapMode;
|
|
42505
42665
|
state.clipStartTime = clipStartNormalizedTime;
|
|
42506
42666
|
state.clipEndTime = clipEndNormalizedTime;
|
|
42507
|
-
|
|
42508
|
-
(_scriptsObject = scriptsObject) == null ? void 0 : _scriptsObject.forEach(function(script) {
|
|
42667
|
+
scripts.forEach(function(script) {
|
|
42509
42668
|
state.addStateMachineScript(Loader.getClass(script));
|
|
42510
42669
|
});
|
|
42670
|
+
statesMap[id] = state;
|
|
42511
42671
|
if (clipData) {
|
|
42512
42672
|
promises.push(new Promise(function(resolve) {
|
|
42513
42673
|
//@ts-ignore
|
|
@@ -42521,23 +42681,32 @@
|
|
|
42521
42681
|
}));
|
|
42522
42682
|
}
|
|
42523
42683
|
});
|
|
42684
|
+
transitions.forEach(function(transitionData) {
|
|
42685
|
+
var transition = _this._createTransition(transitionData, statesMap[transitionData.destinationStateId]);
|
|
42686
|
+
transitionsMap[transitionData.id] = transition;
|
|
42687
|
+
});
|
|
42524
42688
|
states.forEach(function(stateData) {
|
|
42525
|
-
var
|
|
42526
|
-
transitions.forEach(function(
|
|
42527
|
-
var
|
|
42528
|
-
|
|
42529
|
-
var destState = stateMachine.findStateByName(targetStateName);
|
|
42530
|
-
var transition = new AnimatorStateTransition();
|
|
42531
|
-
transition.destinationState = destState;
|
|
42532
|
-
transition.duration = duration;
|
|
42533
|
-
transition.exitTime = exitTime;
|
|
42534
|
-
transition.offset = offset;
|
|
42535
|
-
sourceState.addTransition(transition);
|
|
42689
|
+
var id = stateData.id, transitions = stateData.transitions;
|
|
42690
|
+
transitions.forEach(function(transitionId) {
|
|
42691
|
+
var transition = transitionsMap[transitionId];
|
|
42692
|
+
transition && statesMap[id].addTransition(transition);
|
|
42536
42693
|
});
|
|
42537
42694
|
});
|
|
42695
|
+
entryTransitions.forEach(function(entryTransitionData) {
|
|
42696
|
+
stateMachine.addEntryStateTransition(_this._createTransition(entryTransitionData, statesMap[entryTransitionData.destinationStateId]));
|
|
42697
|
+
});
|
|
42698
|
+
anyTransitions.forEach(function(anyTransitionData) {
|
|
42699
|
+
stateMachine.addAnyStateTransition(_this._createTransition(anyTransitionData, statesMap[anyTransitionData.destinationStateId]));
|
|
42700
|
+
});
|
|
42538
42701
|
}
|
|
42539
42702
|
animatorController.addLayer(layer);
|
|
42540
42703
|
});
|
|
42704
|
+
parameters.forEach(function(parameterData) {
|
|
42705
|
+
var parameter = new AnimatorControllerParameter();
|
|
42706
|
+
parameter.name = parameterData.name;
|
|
42707
|
+
parameter.value = parameterData.value;
|
|
42708
|
+
animatorController.addParameter(parameter);
|
|
42709
|
+
});
|
|
42541
42710
|
Promise.all(promises).then(function(clipData) {
|
|
42542
42711
|
clipData.forEach(function(data) {
|
|
42543
42712
|
var layerIndex = data.layerIndex, stateIndex = data.stateIndex, clip = data.clip;
|
|
@@ -42548,6 +42717,21 @@
|
|
|
42548
42717
|
}).catch(reject);
|
|
42549
42718
|
});
|
|
42550
42719
|
};
|
|
42720
|
+
_proto._createTransition = function _createTransition(transitionData, destinationState) {
|
|
42721
|
+
var transition = new AnimatorStateTransition();
|
|
42722
|
+
transition.duration = transitionData.duration;
|
|
42723
|
+
transition.offset = transitionData.offset;
|
|
42724
|
+
transition.exitTime = transitionData.exitTime;
|
|
42725
|
+
transition.solo = transitionData.solo;
|
|
42726
|
+
transition.mute = transitionData.mute;
|
|
42727
|
+
// @ts-ignore
|
|
42728
|
+
transition._isExit = transitionData.isExit;
|
|
42729
|
+
transition.destinationState = destinationState;
|
|
42730
|
+
transitionData.conditions.forEach(function(conditionData) {
|
|
42731
|
+
transition.addCondition(conditionData.mode, conditionData.parameterName, conditionData.threshold);
|
|
42732
|
+
});
|
|
42733
|
+
return transition;
|
|
42734
|
+
};
|
|
42551
42735
|
return AnimatorControllerLoader;
|
|
42552
42736
|
}(Loader);
|
|
42553
42737
|
AnimatorControllerLoader = __decorate([
|
|
@@ -42596,9 +42780,9 @@
|
|
|
42596
42780
|
_proto.load = function load(item, resourceManager) {
|
|
42597
42781
|
var _this = this;
|
|
42598
42782
|
return new AssetPromise(function(resolve, reject) {
|
|
42599
|
-
_this.request(item.url, {
|
|
42783
|
+
_this.request(item.url, _extends({}, item, {
|
|
42600
42784
|
type: "arraybuffer"
|
|
42601
|
-
}).then(function(arraybuffer) {
|
|
42785
|
+
})).then(function(arraybuffer) {
|
|
42602
42786
|
var _this;
|
|
42603
42787
|
var shArray = new Float32Array(arraybuffer, 0, 27);
|
|
42604
42788
|
var shByteLength = 27 * 4;
|
|
@@ -42672,9 +42856,9 @@
|
|
|
42672
42856
|
_proto.load = function load(item, resourceManager) {
|
|
42673
42857
|
var _this = this;
|
|
42674
42858
|
return new AssetPromise(function(resolve, reject) {
|
|
42675
|
-
_this.request(item.url, {
|
|
42859
|
+
_this.request(item.url, _extends({}, item, {
|
|
42676
42860
|
type: "json"
|
|
42677
|
-
}).then(function(data) {
|
|
42861
|
+
})).then(function(data) {
|
|
42678
42862
|
var fontName = data.fontName, fontUrl = data.fontUrl;
|
|
42679
42863
|
if (fontUrl) {
|
|
42680
42864
|
_this._registerFont(fontName, fontUrl).then(function() {
|
|
@@ -43056,15 +43240,15 @@
|
|
|
43056
43240
|
for(var i = 0, length = item.length; i < length; i++){
|
|
43057
43241
|
var mesh = item[i];
|
|
43058
43242
|
// @ts-ignore
|
|
43059
|
-
_this.resourceManager._onSubAssetSuccess(url
|
|
43243
|
+
_this.resourceManager._onSubAssetSuccess(url, glTFResourceKey + "[" + index + "][" + i + "]", mesh);
|
|
43060
43244
|
}
|
|
43061
43245
|
} else {
|
|
43062
43246
|
// @ts-ignore
|
|
43063
|
-
_this.resourceManager._onSubAssetSuccess(url
|
|
43247
|
+
_this.resourceManager._onSubAssetSuccess(url, "" + glTFResourceKey + (index === undefined ? "" : "[" + index + "]"), item);
|
|
43064
43248
|
var _this_glTF_scene;
|
|
43065
43249
|
if (type === 2 && ((_this_glTF_scene = _this.glTF.scene) != null ? _this_glTF_scene : 0) === index) {
|
|
43066
43250
|
// @ts-ignore
|
|
43067
|
-
_this.resourceManager._onSubAssetSuccess(
|
|
43251
|
+
_this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
|
|
43068
43252
|
}
|
|
43069
43253
|
}
|
|
43070
43254
|
});
|
|
@@ -45486,6 +45670,8 @@
|
|
|
45486
45670
|
sceneRoot = context.get(exports.GLTFParserType.Entity, sceneNodes[0]);
|
|
45487
45671
|
} else {
|
|
45488
45672
|
sceneRoot = new Entity(engine, "GLTF_ROOT");
|
|
45673
|
+
// @ts-ignore
|
|
45674
|
+
sceneRoot._markAsTemplate(glTFResource);
|
|
45489
45675
|
for(var i = 0; i < sceneNodes.length; i++){
|
|
45490
45676
|
var childEntity = context.get(exports.GLTFParserType.Entity, sceneNodes[i]);
|
|
45491
45677
|
sceneRoot.addChild(childEntity);
|
|
@@ -45893,7 +46079,8 @@
|
|
|
45893
46079
|
registerGLTFParser(exports.GLTFParserType.AnimatorController)
|
|
45894
46080
|
], exports.GLTFAnimatorControllerParser);
|
|
45895
46081
|
// Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
|
|
45896
|
-
var
|
|
46082
|
+
var ready;
|
|
46083
|
+
function getMeshoptDecoder() {
|
|
45897
46084
|
var unpack = function unpack(data) {
|
|
45898
46085
|
var result = new Uint8Array(data.length);
|
|
45899
46086
|
for(var i = 0; i < data.length; ++i){
|
|
@@ -45938,7 +46125,7 @@
|
|
|
45938
46125
|
return worker;
|
|
45939
46126
|
};
|
|
45940
46127
|
var initWorkers = function initWorkers(count) {
|
|
45941
|
-
var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n
|
|
46128
|
+
var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
|
|
45942
46129
|
var blob = new Blob([
|
|
45943
46130
|
source
|
|
45944
46131
|
], {
|
|
@@ -45977,6 +46164,7 @@
|
|
|
45977
46164
|
]);
|
|
45978
46165
|
});
|
|
45979
46166
|
};
|
|
46167
|
+
if (ready) return ready;
|
|
45980
46168
|
var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
|
|
45981
46169
|
var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
|
|
45982
46170
|
var wasmpack = new Uint8Array([
|
|
@@ -46044,9 +46232,32 @@
|
|
|
46044
46232
|
// @ts-ignore
|
|
46045
46233
|
var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
|
|
46046
46234
|
var instance;
|
|
46047
|
-
|
|
46235
|
+
ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
|
|
46048
46236
|
instance = result.instance;
|
|
46049
46237
|
instance.exports.__wasm_call_ctors();
|
|
46238
|
+
}).then(function() {
|
|
46239
|
+
return {
|
|
46240
|
+
workerCount: 4,
|
|
46241
|
+
ready: ready,
|
|
46242
|
+
useWorkers: function useWorkers(workerCount) {
|
|
46243
|
+
this.workerCount = workerCount != null ? workerCount : this.workerCount;
|
|
46244
|
+
initWorkers(this.workerCount);
|
|
46245
|
+
},
|
|
46246
|
+
decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
|
|
46247
|
+
if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
|
|
46248
|
+
if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
|
|
46249
|
+
return ready.then(function() {
|
|
46250
|
+
var target = new Uint8Array(count * stride);
|
|
46251
|
+
decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
|
|
46252
|
+
return target;
|
|
46253
|
+
});
|
|
46254
|
+
},
|
|
46255
|
+
release: function release() {
|
|
46256
|
+
for(var i = 0; i < workers.length; i++){
|
|
46257
|
+
workers[i].object.terminate();
|
|
46258
|
+
}
|
|
46259
|
+
}
|
|
46260
|
+
};
|
|
46050
46261
|
});
|
|
46051
46262
|
var filters = {
|
|
46052
46263
|
NONE: "",
|
|
@@ -46061,28 +46272,8 @@
|
|
|
46061
46272
|
};
|
|
46062
46273
|
var workers = [];
|
|
46063
46274
|
var requestId = 0;
|
|
46064
|
-
return
|
|
46065
|
-
|
|
46066
|
-
ready: ready,
|
|
46067
|
-
useWorkers: function useWorkers() {
|
|
46068
|
-
initWorkers(this.workerCount);
|
|
46069
|
-
},
|
|
46070
|
-
decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
|
|
46071
|
-
if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
|
|
46072
|
-
if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
|
|
46073
|
-
return ready.then(function() {
|
|
46074
|
-
var target = new Uint8Array(count * stride);
|
|
46075
|
-
decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
|
|
46076
|
-
return target;
|
|
46077
|
-
});
|
|
46078
|
-
},
|
|
46079
|
-
release: function release() {
|
|
46080
|
-
for(var i = 0; i < workers.length; i++){
|
|
46081
|
-
workers[i].object.terminate();
|
|
46082
|
-
}
|
|
46083
|
-
}
|
|
46084
|
-
};
|
|
46085
|
-
}();
|
|
46275
|
+
return ready;
|
|
46276
|
+
}
|
|
46086
46277
|
exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
46087
46278
|
var GLTFLoader = function GLTFLoader() {
|
|
46088
46279
|
return Loader1.apply(this, arguments);
|
|
@@ -46090,11 +46281,13 @@
|
|
|
46090
46281
|
_inherits(GLTFLoader, Loader1);
|
|
46091
46282
|
var _proto = GLTFLoader.prototype;
|
|
46092
46283
|
_proto.initialize = function initialize(_, configuration) {
|
|
46093
|
-
var _configuration_glTF;
|
|
46094
|
-
var
|
|
46284
|
+
var _configuration_glTFLoader, _configuration_glTF;
|
|
46285
|
+
var _configuration_glTFLoader_meshOpt;
|
|
46286
|
+
var meshOptOptions = (_configuration_glTFLoader_meshOpt = (_configuration_glTFLoader = configuration.glTFLoader) == null ? void 0 : _configuration_glTFLoader.meshOpt) != null ? _configuration_glTFLoader_meshOpt : (_configuration_glTF = configuration.glTF) == null ? void 0 : _configuration_glTF.meshOpt;
|
|
46095
46287
|
if (meshOptOptions) {
|
|
46096
|
-
|
|
46097
|
-
|
|
46288
|
+
return getMeshoptDecoder().then(function(meshoptDecoder) {
|
|
46289
|
+
meshoptDecoder.useWorkers(meshOptOptions.workerCount);
|
|
46290
|
+
});
|
|
46098
46291
|
}
|
|
46099
46292
|
return Promise.resolve();
|
|
46100
46293
|
};
|
|
@@ -46115,7 +46308,11 @@
|
|
|
46115
46308
|
* Release glTF loader memory(includes meshopt workers).
|
|
46116
46309
|
* @remarks If use loader after releasing, we should release again.
|
|
46117
46310
|
*/ GLTFLoader.release = function release() {
|
|
46118
|
-
|
|
46311
|
+
if (ready) {
|
|
46312
|
+
getMeshoptDecoder().then(function(meshoptDecoder) {
|
|
46313
|
+
meshoptDecoder.release();
|
|
46314
|
+
});
|
|
46315
|
+
}
|
|
46119
46316
|
};
|
|
46120
46317
|
return GLTFLoader;
|
|
46121
46318
|
}(Loader);
|
|
@@ -46152,7 +46349,7 @@
|
|
|
46152
46349
|
};
|
|
46153
46350
|
return PrefabParser;
|
|
46154
46351
|
}(HierarchyParser);
|
|
46155
|
-
|
|
46352
|
+
var PrefabLoader = /*#__PURE__*/ function(Loader1) {
|
|
46156
46353
|
var PrefabLoader = function PrefabLoader() {
|
|
46157
46354
|
return Loader1.apply(this, arguments);
|
|
46158
46355
|
};
|
|
@@ -46171,11 +46368,11 @@
|
|
|
46171
46368
|
};
|
|
46172
46369
|
return PrefabLoader;
|
|
46173
46370
|
}(Loader);
|
|
46174
|
-
|
|
46371
|
+
PrefabLoader = __decorate([
|
|
46175
46372
|
resourceLoader(exports.AssetType.Prefab, [
|
|
46176
46373
|
"prefab"
|
|
46177
46374
|
])
|
|
46178
|
-
],
|
|
46375
|
+
], PrefabLoader);
|
|
46179
46376
|
var _HDRLoader;
|
|
46180
46377
|
var PI = Math.PI;
|
|
46181
46378
|
var HDRLoader = (_HDRLoader = /*#__PURE__*/ function(Loader1) {
|
|
@@ -46188,9 +46385,9 @@
|
|
|
46188
46385
|
var _this = this;
|
|
46189
46386
|
return new AssetPromise(function(resolve, reject) {
|
|
46190
46387
|
var engine = resourceManager.engine;
|
|
46191
|
-
_this.request(item.url, {
|
|
46388
|
+
_this.request(item.url, _extends({}, item, {
|
|
46192
46389
|
type: "arraybuffer"
|
|
46193
|
-
}).then(function(buffer) {
|
|
46390
|
+
})).then(function(buffer) {
|
|
46194
46391
|
var uint8Array = new Uint8Array(buffer);
|
|
46195
46392
|
var _HDRLoader__parseHeader = HDRLoader._parseHeader(uint8Array), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
|
|
46196
46393
|
var pixels = HDRLoader._readPixels(uint8Array.subarray(dataPosition), width, height);
|
|
@@ -46928,9 +47125,9 @@
|
|
|
46928
47125
|
var _this = this;
|
|
46929
47126
|
var engine = resourceManager.engine;
|
|
46930
47127
|
return new AssetPromise(function(resolve, reject) {
|
|
46931
|
-
_this.request(item.url, {
|
|
47128
|
+
_this.request(item.url, _extends({}, item, {
|
|
46932
47129
|
type: "json"
|
|
46933
|
-
}).then(function(data) {
|
|
47130
|
+
})).then(function(data) {
|
|
46934
47131
|
// @ts-ignore
|
|
46935
47132
|
engine.resourceManager.initVirtualResources(data.files);
|
|
46936
47133
|
return resourceManager.load({
|
|
@@ -47055,12 +47252,12 @@
|
|
|
47055
47252
|
var atlasItemsLen = atlasItems ? atlasItems.length : 0;
|
|
47056
47253
|
var engine = resourceManager.engine;
|
|
47057
47254
|
var spriteAtlas = new SpriteAtlas(engine);
|
|
47058
|
-
if (atlasItemsLen
|
|
47255
|
+
if (atlasItemsLen <= 0) {
|
|
47059
47256
|
resolve(spriteAtlas);
|
|
47060
47257
|
return;
|
|
47061
47258
|
}
|
|
47062
47259
|
chainPromises.length = 0;
|
|
47063
|
-
for(var i = 0; i <
|
|
47260
|
+
for(var i = 0; i < atlasItemsLen; i++)_loop(i);
|
|
47064
47261
|
AssetPromise.all(chainPromises).then(function() {
|
|
47065
47262
|
resolve(spriteAtlas);
|
|
47066
47263
|
}).catch(reject);
|
|
@@ -47288,9 +47485,9 @@
|
|
|
47288
47485
|
var _this = this;
|
|
47289
47486
|
var engine = resourceManager.engine;
|
|
47290
47487
|
return new AssetPromise(function(resolve, reject) {
|
|
47291
|
-
_this.request(item.url, {
|
|
47488
|
+
_this.request(item.url, _extends({}, item, {
|
|
47292
47489
|
type: "json"
|
|
47293
|
-
}).then(function(data) {
|
|
47490
|
+
})).then(function(data) {
|
|
47294
47491
|
return SceneParser.parse(engine, data).then(function(scene) {
|
|
47295
47492
|
var promises = [];
|
|
47296
47493
|
// parse ambient light
|
|
@@ -47389,6 +47586,7 @@
|
|
|
47389
47586
|
var tonemappingEffect = postProcessManager._tonemappingEffect;
|
|
47390
47587
|
postProcessManager.isActive = postProcessData.isActive;
|
|
47391
47588
|
bloomEffect.enabled = postProcessData.bloom.enabled;
|
|
47589
|
+
bloomEffect.downScale = postProcessData.bloom.downScale;
|
|
47392
47590
|
bloomEffect.threshold = postProcessData.bloom.threshold;
|
|
47393
47591
|
bloomEffect.scatter = postProcessData.bloom.scatter;
|
|
47394
47592
|
bloomEffect.intensity = postProcessData.bloom.intensity;
|
|
@@ -47396,12 +47594,14 @@
|
|
|
47396
47594
|
bloomEffect.dirtIntensity = postProcessData.bloom.dirtIntensity;
|
|
47397
47595
|
tonemappingEffect.enabled = postProcessData.tonemapping.enabled;
|
|
47398
47596
|
tonemappingEffect.mode = postProcessData.tonemapping.mode;
|
|
47399
|
-
|
|
47400
|
-
|
|
47401
|
-
|
|
47402
|
-
|
|
47403
|
-
|
|
47404
|
-
|
|
47597
|
+
if (postProcessData.bloom.dirtTexture) {
|
|
47598
|
+
// @ts-ignore
|
|
47599
|
+
// prettier-ignore
|
|
47600
|
+
var dirtTexturePromise = resourceManager.getResourceByRef(postProcessData.bloom.dirtTexture).then(function(texture) {
|
|
47601
|
+
bloomEffect.dirtTexture = texture;
|
|
47602
|
+
});
|
|
47603
|
+
promises.push(dirtTexturePromise);
|
|
47604
|
+
}
|
|
47405
47605
|
}
|
|
47406
47606
|
return Promise.all(promises).then(function() {
|
|
47407
47607
|
resolve(scene);
|
|
@@ -47760,7 +47960,9 @@
|
|
|
47760
47960
|
var _proto = EXT_meshopt_compression.prototype;
|
|
47761
47961
|
_proto.createAndParse = function createAndParse(context, schema) {
|
|
47762
47962
|
return context.get(exports.GLTFParserType.Buffer, schema.buffer).then(function(arrayBuffer) {
|
|
47763
|
-
return
|
|
47963
|
+
return getMeshoptDecoder().then(function(decoder) {
|
|
47964
|
+
return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
|
|
47965
|
+
});
|
|
47764
47966
|
});
|
|
47765
47967
|
};
|
|
47766
47968
|
return EXT_meshopt_compression;
|
|
@@ -47792,7 +47994,7 @@
|
|
|
47792
47994
|
], KHR_materials_anisotropy);
|
|
47793
47995
|
|
|
47794
47996
|
//@ts-ignore
|
|
47795
|
-
var version = "1.3.0-
|
|
47997
|
+
var version = "1.3.0-beta.5";
|
|
47796
47998
|
console.log("Galacean engine version: " + version);
|
|
47797
47999
|
for(var key in CoreObjects){
|
|
47798
48000
|
Loader.registerClass(key, CoreObjects[key]);
|
|
@@ -47804,8 +48006,10 @@
|
|
|
47804
48006
|
exports.AnimationCurve = AnimationCurve;
|
|
47805
48007
|
exports.AnimationEvent = AnimationEvent;
|
|
47806
48008
|
exports.Animator = Animator;
|
|
48009
|
+
exports.AnimatorCondition = AnimatorCondition;
|
|
47807
48010
|
exports.AnimatorController = AnimatorController;
|
|
47808
48011
|
exports.AnimatorControllerLayer = AnimatorControllerLayer;
|
|
48012
|
+
exports.AnimatorControllerParameter = AnimatorControllerParameter;
|
|
47809
48013
|
exports.AnimatorLayerMask = AnimatorLayerMask;
|
|
47810
48014
|
exports.AnimatorState = AnimatorState;
|
|
47811
48015
|
exports.AnimatorStateMachine = AnimatorStateMachine;
|
|
@@ -47828,6 +48032,7 @@
|
|
|
47828
48032
|
exports.Buffer = Buffer;
|
|
47829
48033
|
exports.BufferInfo = BufferInfo;
|
|
47830
48034
|
exports.BufferMesh = BufferMesh;
|
|
48035
|
+
exports.BufferReader = BufferReader;
|
|
47831
48036
|
exports.BufferUtil = BufferUtil;
|
|
47832
48037
|
exports.Burst = Burst;
|
|
47833
48038
|
exports.Canvas = Canvas;
|
|
@@ -47853,6 +48058,7 @@
|
|
|
47853
48058
|
exports.EngineObject = EngineObject;
|
|
47854
48059
|
exports.Entity = Entity;
|
|
47855
48060
|
exports.EventDispatcher = EventDispatcher;
|
|
48061
|
+
exports.FileHeader = FileHeader;
|
|
47856
48062
|
exports.FixedJoint = FixedJoint;
|
|
47857
48063
|
exports.Font = Font;
|
|
47858
48064
|
exports.GLTFExtensionParser = GLTFExtensionParser;
|
|
@@ -47870,6 +48076,7 @@
|
|
|
47870
48076
|
exports.JointLimits = JointLimits;
|
|
47871
48077
|
exports.JointMotor = JointMotor;
|
|
47872
48078
|
exports.Keyframe = Keyframe;
|
|
48079
|
+
exports.LayerPathMask = LayerPathMask;
|
|
47873
48080
|
exports.Light = Light;
|
|
47874
48081
|
exports.Loader = Loader;
|
|
47875
48082
|
exports.Logger = Logger;
|
|
@@ -47916,6 +48123,7 @@
|
|
|
47916
48123
|
exports.ResourceManager = ResourceManager;
|
|
47917
48124
|
exports.ReturnableObjectPool = ReturnableObjectPool;
|
|
47918
48125
|
exports.RotationOverLifetimeModule = RotationOverLifetimeModule;
|
|
48126
|
+
exports.SafeLoopArray = SafeLoopArray;
|
|
47919
48127
|
exports.Scene = Scene;
|
|
47920
48128
|
exports.SceneManager = SceneManager;
|
|
47921
48129
|
exports.SceneParser = SceneParser;
|
|
@@ -47978,6 +48186,8 @@
|
|
|
47978
48186
|
exports._PostProcessManager = _PostProcessManager;
|
|
47979
48187
|
exports.assignmentClone = assignmentClone;
|
|
47980
48188
|
exports.decode = decode;
|
|
48189
|
+
exports.decoder = decoder;
|
|
48190
|
+
exports.decoderMap = decoderMap;
|
|
47981
48191
|
exports.deepClone = deepClone;
|
|
47982
48192
|
exports.dependentComponents = dependentComponents;
|
|
47983
48193
|
exports.ignoreClone = ignoreClone;
|