@galacean/engine-core 1.3.0-alpha.1 → 1.3.0-alpha.2

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.
Files changed (42) hide show
  1. package/dist/main.js +131 -57
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +131 -57
  4. package/dist/module.js +132 -58
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/Camera.d.ts +7 -4
  8. package/types/enums/ReplacementFailureStrategy.d.ts +9 -0
  9. package/types/index.d.ts +1 -0
  10. package/types/shader/ShaderPass.d.ts +10 -0
  11. package/types/shader/index.d.ts +1 -0
  12. package/types/shaderlib/ShaderFactory.d.ts +2 -1
  13. package/types/2d/assembler/IAssembler.d.ts +0 -1
  14. package/types/2d/data/VertexData2D.d.ts +0 -1
  15. package/types/2d/text/CharRenderData.d.ts +0 -1
  16. package/types/2d/text/CharRenderDataPool.d.ts +0 -1
  17. package/types/Deprecated.d.ts +0 -101
  18. package/types/RenderPipeline/Basic2DBatcher.d.ts +0 -19
  19. package/types/RenderPipeline/Chunk.d.ts +0 -1
  20. package/types/RenderPipeline/ClassPool.d.ts +0 -19
  21. package/types/RenderPipeline/DynamicGeometryData.d.ts +0 -1
  22. package/types/RenderPipeline/DynamicGeometryDataManager.d.ts +0 -1
  23. package/types/RenderPipeline/IPoolElement.d.ts +0 -3
  24. package/types/RenderPipeline/RenderData.d.ts +0 -14
  25. package/types/RenderPipeline/RenderData2D.d.ts +0 -14
  26. package/types/RenderPipeline/RenderPass.d.ts +0 -55
  27. package/types/RenderPipeline/SpriteBatcher.d.ts +0 -1
  28. package/types/RenderPipeline/SpriteMaskBatcher.d.ts +0 -11
  29. package/types/RenderPipeline/SpriteMaskManager.d.ts +0 -1
  30. package/types/RenderPipeline/SpriteMaskRenderData.d.ts +0 -12
  31. package/types/RenderPipeline/SpriteRenderData.d.ts +0 -14
  32. package/types/RenderPipeline/TextRenderData.d.ts +0 -8
  33. package/types/RenderPipeline/batcher/MeshBuffer.d.ts +0 -1
  34. package/types/RenderPipeline/enums/ForceUploadShaderDataFlag.d.ts +0 -15
  35. package/types/RenderPipeline/enums/RenderBufferStoreAction.d.ts +0 -13
  36. package/types/RenderPipeline/enums/RenderDataUsage.d.ts +0 -13
  37. package/types/animation/AnimatorTransition.d.ts +0 -14
  38. package/types/postProcess/PostProcessEffect.d.ts +0 -13
  39. package/types/postProcess/PostProcessPass.d.ts +0 -55
  40. package/types/renderingHardwareInterface/IHardwareRenderer.d.ts +0 -6
  41. package/types/texture/enums/PixelFormat.d.ts +0 -73
  42. package/types/utils/Pool.d.ts +0 -12
package/dist/module.js CHANGED
@@ -2990,6 +2990,12 @@ var RenderStateElementKey;
2990
2990
  StencilOperation[StencilOperation[/** Decrements the current stencil buffer value. Wraps stencil buffer value to the maximum representable unsigned value when decrementing a stencil buffer value of 0. */ "DecrementWrap"] = 7] = "DecrementWrap";
2991
2991
  })(StencilOperation || (StencilOperation = {}));
2992
2992
 
2993
+ var ShaderPlatformTarget;
2994
+ (function(ShaderPlatformTarget) {
2995
+ ShaderPlatformTarget[ShaderPlatformTarget["GLES100"] = 0] = "GLES100";
2996
+ ShaderPlatformTarget[ShaderPlatformTarget["GLES300"] = 1] = "GLES300";
2997
+ })(ShaderPlatformTarget || (ShaderPlatformTarget = {}));
2998
+
2993
2999
  /**
2994
3000
  * Shader macro。
2995
3001
  */ var ShaderMacro = /*#__PURE__*/ function() {
@@ -3019,14 +3025,14 @@ var RenderStateElementKey;
3019
3025
  maskMap.length++;
3020
3026
  maskMap[index] = new Array(32);
3021
3027
  }
3022
- maskMap[index][bit] = key;
3028
+ maskMap[index][bit] = macro;
3023
3029
  ShaderMacro._macroCounter++;
3024
3030
  }
3025
3031
  return macro;
3026
3032
  };
3027
3033
  /**
3028
3034
  * @internal
3029
- */ ShaderMacro._getNamesByMacros = function _getNamesByMacros(macros, out) {
3035
+ */ ShaderMacro._getMacrosElements = function _getMacrosElements(macros, out) {
3030
3036
  var maskMap = ShaderMacro._macroMaskMap;
3031
3037
  var mask = macros._mask;
3032
3038
  out.length = 0;
@@ -3209,15 +3215,6 @@ var RenderStateElementKey;
3209
3215
  return ShaderMacroCollection;
3210
3216
  }();
3211
3217
 
3212
- /**
3213
- * Pipeline stage.
3214
- */ var PipelineStage;
3215
- (function(PipelineStage) {
3216
- PipelineStage[/** DepthOnly stage. */ "DepthOnly"] = "DepthOnly";
3217
- PipelineStage[/** Shadow caster stage. */ "ShadowCaster"] = "ShadowCaster";
3218
- PipelineStage[/** Forward shading stage. */ "Forward"] = "Forward";
3219
- })(PipelineStage || (PipelineStage = {}));
3220
-
3221
3218
  function _extends() {
3222
3219
  _extends = Object.assign || function assign(target) {
3223
3220
  for (var i = 1; i < arguments.length; i++) {
@@ -3231,6 +3228,15 @@ function _extends() {
3231
3228
  return _extends.apply(this, arguments);
3232
3229
  }
3233
3230
 
3231
+ /**
3232
+ * Pipeline stage.
3233
+ */ var PipelineStage;
3234
+ (function(PipelineStage) {
3235
+ PipelineStage[/** DepthOnly stage. */ "DepthOnly"] = "DepthOnly";
3236
+ PipelineStage[/** Shadow caster stage. */ "ShadowCaster"] = "ShadowCaster";
3237
+ PipelineStage[/** Forward shading stage. */ "Forward"] = "Forward";
3238
+ })(PipelineStage || (PipelineStage = {}));
3239
+
3234
3240
  var camera_declare = "#define GLSLIFY 1\nuniform vec3 camera_Position;uniform vec3 camera_Forward;uniform vec4 camera_ProjectionParams;"; // eslint-disable-line
3235
3241
 
3236
3242
  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
@@ -3325,7 +3331,7 @@ var brdf = "#define GLSLIFY 1\nfloat F_Schlick(float f0,float dotLH){return f0+0
3325
3331
 
3326
3332
  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
3327
3333
 
3328
- 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
3334
+ 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 max(specularColor*AB.x+AB.y,0.0);}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
3329
3335
 
3330
3336
  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
3331
3337
 
@@ -3446,7 +3452,7 @@ var ShaderFactory = /*#__PURE__*/ function() {
3446
3452
  function ShaderFactory() {}
3447
3453
  ShaderFactory.parseCustomMacros = function parseCustomMacros(macros) {
3448
3454
  return macros.map(function(m) {
3449
- return "#define " + m + "\n";
3455
+ return "#define " + (m.value ? m.name + " " + m.value : m.name) + "\n";
3450
3456
  }).join("");
3451
3457
  };
3452
3458
  ShaderFactory.registerInclude = function registerInclude(includeName, includeSource) {
@@ -4231,29 +4237,49 @@ var ShaderFactory = /*#__PURE__*/ function() {
4231
4237
  ShaderProgram._counter = 0;
4232
4238
  })();
4233
4239
 
4240
+ /**
4241
+ * @internal
4242
+ * Shader pass type
4243
+ */ var ShaderType;
4244
+ (function(ShaderType) {
4245
+ ShaderType[ShaderType[/** init by glsl */ "Canonical"] = 0] = "Canonical";
4246
+ ShaderType[ShaderType[/** init by shader-lab */ "ShaderLab"] = 1] = "ShaderLab";
4247
+ })(ShaderType || (ShaderType = {}));
4248
+
4234
4249
  /**
4235
4250
  * Shader pass containing vertex and fragment source.
4236
4251
  */ var ShaderPass = /*#__PURE__*/ function(ShaderPart1) {
4237
4252
  _inherits(ShaderPass, ShaderPart1);
4238
- function ShaderPass(nameOrVertexSource, vertexSourceOrFragmentSource, fragmentSourceOrTags, tags) {
4253
+ function ShaderPass(nameOrVertexSource, vertexSourceOrFragmentSourceOrCode, fragmentSourceOrTagsOrVertexEntry, fragmentEntryOrTags, tags) {
4239
4254
  var _this;
4240
4255
  _this = ShaderPart1.call(this) || this;
4241
4256
  /** @internal */ _this._shaderPassId = 0;
4242
4257
  /** @internal */ _this._renderStateDataMap = {};
4243
4258
  /** @internal */ _this._shaderProgramPools = [];
4259
+ _this._platformMacros = [];
4244
4260
  _this._shaderPassId = ShaderPass._shaderPassCounter++;
4245
- if (typeof fragmentSourceOrTags === "string") {
4261
+ _this._type = ShaderType.Canonical;
4262
+ if (typeof fragmentEntryOrTags === "string") {
4263
+ _this._name = nameOrVertexSource;
4264
+ _this._shaderLabSource = vertexSourceOrFragmentSourceOrCode;
4265
+ _this._vertexEntry = fragmentSourceOrTagsOrVertexEntry;
4266
+ _this._fragmentEntry = fragmentEntryOrTags;
4267
+ tags = _extends({
4268
+ pipelineStage: PipelineStage.Forward
4269
+ }, tags);
4270
+ _this._type = ShaderType.ShaderLab;
4271
+ } else if (typeof fragmentSourceOrTagsOrVertexEntry === "string") {
4246
4272
  _this._name = nameOrVertexSource;
4247
- _this._vertexSource = vertexSourceOrFragmentSource;
4248
- _this._fragmentSource = fragmentSourceOrTags;
4249
- tags = tags != null ? tags : {
4273
+ _this._vertexSource = vertexSourceOrFragmentSourceOrCode;
4274
+ _this._fragmentSource = fragmentSourceOrTagsOrVertexEntry;
4275
+ tags = fragmentEntryOrTags != null ? fragmentEntryOrTags : {
4250
4276
  pipelineStage: PipelineStage.Forward
4251
4277
  };
4252
4278
  } else {
4253
4279
  _this._name = "Default";
4254
4280
  _this._vertexSource = nameOrVertexSource;
4255
- _this._fragmentSource = vertexSourceOrFragmentSource;
4256
- tags = fragmentSourceOrTags != null ? fragmentSourceOrTags : {
4281
+ _this._fragmentSource = vertexSourceOrFragmentSourceOrCode;
4282
+ tags = fragmentSourceOrTagsOrVertexEntry != null ? fragmentSourceOrTagsOrVertexEntry : {
4257
4283
  pipelineStage: PipelineStage.Forward
4258
4284
  };
4259
4285
  }
@@ -4271,9 +4297,51 @@ var ShaderFactory = /*#__PURE__*/ function() {
4271
4297
  if (shaderProgram) {
4272
4298
  return shaderProgram;
4273
4299
  }
4300
+ if (this._type === ShaderType.Canonical) {
4301
+ shaderProgram = this._getCanonicalShaderProgram(engine, macroCollection);
4302
+ } else {
4303
+ shaderProgram = this._compileShaderProgram(engine, macroCollection, this._vertexEntry, this._fragmentEntry);
4304
+ }
4305
+ shaderProgramPool.cache(shaderProgram);
4306
+ return shaderProgram;
4307
+ };
4308
+ /**
4309
+ * @internal
4310
+ */ _proto._destroy = function _destroy() {
4311
+ var shaderProgramPools = this._shaderProgramPools;
4312
+ for(var i = 0, n = shaderProgramPools.length; i < n; i++){
4313
+ shaderProgramPools[i]._destroy();
4314
+ }
4315
+ shaderProgramPools.length = 0;
4316
+ };
4317
+ /**
4318
+ * Shader Lab compilation
4319
+ */ _proto._compileShaderProgram = function _compileShaderProgram(engine, macroCollection, vertexEntry, fragmentEntry) {
4320
+ var isWebGL2 = engine._hardwareRenderer.isWebGL2;
4321
+ var macros = new Array();
4322
+ ShaderMacro._getMacrosElements(macroCollection, macros);
4323
+ this._platformMacros.length = 0;
4324
+ if (engine._hardwareRenderer.canIUse(GLCapabilityType.shaderTextureLod)) {
4325
+ this._platformMacros.push("HAS_TEX_LOD");
4326
+ }
4327
+ if (engine._hardwareRenderer.canIUse(GLCapabilityType.standardDerivatives)) {
4328
+ this._platformMacros.push("HAS_DERIVATIVES");
4329
+ }
4330
+ if (isWebGL2) {
4331
+ this._platformMacros.push("GRAPHICS_API_WEBGL2");
4332
+ } else {
4333
+ this._platformMacros.push("GRAPHICS_API_WEBGL1");
4334
+ }
4335
+ var start = performance.now();
4336
+ var _Shader__shaderLab__parseShaderPass = Shader._shaderLab._parseShaderPass(this._shaderLabSource, vertexEntry, fragmentEntry, macros, isWebGL2 ? ShaderPlatformTarget.GLES300 : ShaderPlatformTarget.GLES100, this._platformMacros), vertex = _Shader__shaderLab__parseShaderPass.vertex, fragment = _Shader__shaderLab__parseShaderPass.fragment;
4337
+ Logger.info("[ShaderLab compilation] cost time: " + (performance.now() - start) + "ms");
4338
+ return new ShaderProgram(engine, vertex, fragment);
4339
+ };
4340
+ // TODO: remove it after migrate all shader to `ShaderLab`.
4341
+ _proto._getCanonicalShaderProgram = function _getCanonicalShaderProgram(engine, macroCollection) {
4274
4342
  var isWebGL2 = engine._hardwareRenderer.isWebGL2;
4275
- var macroNameList = [];
4276
- ShaderMacro._getNamesByMacros(macroCollection, macroNameList);
4343
+ var macroNameList = new Array();
4344
+ ShaderMacro._getMacrosElements(macroCollection, macroNameList);
4277
4345
  var macroNameStr = ShaderFactory.parseCustomMacros(macroNameList);
4278
4346
  var versionStr = isWebGL2 ? "#version 300 es" : "#version 100";
4279
4347
  var graphicAPI = isWebGL2 ? "#define GRAPHICS_API_WEBGL2" : "#define GRAPHICS_API_WEBGL1";
@@ -4290,19 +4358,9 @@ var ShaderFactory = /*#__PURE__*/ function() {
4290
4358
  vertexSource = ShaderFactory.convertTo300(vertexSource);
4291
4359
  fragmentSource = ShaderFactory.convertTo300(fragmentSource, true);
4292
4360
  }
4293
- shaderProgram = new ShaderProgram(engine, vertexSource, fragmentSource);
4294
- shaderProgramPool.cache(shaderProgram);
4361
+ var shaderProgram = new ShaderProgram(engine, vertexSource, fragmentSource);
4295
4362
  return shaderProgram;
4296
4363
  };
4297
- /**
4298
- * @internal
4299
- */ _proto._destroy = function _destroy() {
4300
- var shaderProgramPools = this._shaderProgramPools;
4301
- for(var i = 0, n = shaderProgramPools.length; i < n; i++){
4302
- shaderProgramPools[i]._destroy();
4303
- }
4304
- shaderProgramPools.length = 0;
4305
- };
4306
4364
  return ShaderPass;
4307
4365
  }(ShaderPart);
4308
4366
  (function() {
@@ -5006,45 +5064,44 @@ __decorate([
5006
5064
  if (!Shader._shaderLab) {
5007
5065
  throw "ShaderLab has not been set up yet.";
5008
5066
  }
5009
- var shaderInfo = Shader._shaderLab.parseShader(nameOrShaderSource);
5010
- if (shaderMap[shaderInfo.name]) {
5011
- console.error('Shader named "' + shaderInfo.name + '" already exists.');
5067
+ var shaderContent = Shader._shaderLab._parseShaderContent(nameOrShaderSource);
5068
+ if (shaderMap[shaderContent.name]) {
5069
+ console.error('Shader named "' + shaderContent.name + '" already exists.');
5012
5070
  return;
5013
5071
  }
5014
- var subShaderList = shaderInfo.subShaders.map(function(subShaderInfo) {
5015
- var passList = subShaderInfo.passes.map(function(passInfo) {
5016
- if (typeof passInfo === "string") {
5072
+ var subShaderList = shaderContent.subShaders.map(function(subShaderContent) {
5073
+ var passList = subShaderContent.passes.map(function(passInfo) {
5074
+ if (passInfo.isUsePass) {
5017
5075
  var _Shader_find_subShaders_find, _Shader_find;
5018
5076
  // Use pass reference
5019
- var paths = passInfo.split("/");
5077
+ var paths = passInfo.name.split("/");
5020
5078
  return (_Shader_find = Shader.find(paths[0])) == null ? void 0 : (_Shader_find_subShaders_find = _Shader_find.subShaders.find(function(subShader) {
5021
5079
  return subShader.name === paths[1];
5022
5080
  })) == null ? void 0 : _Shader_find_subShaders_find.passes.find(function(pass) {
5023
5081
  return pass.name === paths[2];
5024
5082
  });
5025
5083
  }
5026
- var shaderPass = new ShaderPass(passInfo.name, passInfo.vertexSource, passInfo.fragmentSource, passInfo.tags);
5084
+ var shaderPassContent = new ShaderPass(passInfo.name, passInfo.contents, passInfo.vertexEntry, passInfo.fragmentEntry, passInfo.tags);
5027
5085
  var renderStates = passInfo.renderStates;
5028
5086
  var renderState = new RenderState();
5029
- shaderPass._renderState = renderState;
5087
+ shaderPassContent._renderState = renderState;
5030
5088
  // Parse const render state
5031
- var constRenderStateInfo = renderStates[0];
5032
- for(var k in constRenderStateInfo){
5033
- Shader._applyConstRenderStates(renderState, parseInt(k), constRenderStateInfo[k]);
5089
+ var constantMap = renderStates.constantMap, variableMap = renderStates.variableMap;
5090
+ for(var k in constantMap){
5091
+ Shader._applyConstRenderStates(renderState, parseInt(k), constantMap[k]);
5034
5092
  }
5035
5093
  // Parse variable render state
5036
- var variableRenderStateInfo = renderStates[1];
5037
5094
  var renderStateDataMap = {};
5038
- for(var k1 in variableRenderStateInfo){
5039
- renderStateDataMap[k1] = ShaderProperty.getByName(variableRenderStateInfo[k1]);
5095
+ for(var k1 in variableMap){
5096
+ renderStateDataMap[k1] = ShaderProperty.getByName(variableMap[k1]);
5040
5097
  }
5041
- shaderPass._renderStateDataMap = renderStateDataMap;
5042
- return shaderPass;
5098
+ shaderPassContent._renderStateDataMap = renderStateDataMap;
5099
+ return shaderPassContent;
5043
5100
  });
5044
- return new SubShader(shaderInfo.name, passList, subShaderInfo.tags);
5101
+ return new SubShader(subShaderContent.name, passList, subShaderContent.tags);
5045
5102
  });
5046
- shader = new Shader(shaderInfo.name, subShaderList);
5047
- shaderMap[shaderInfo.name] = shader;
5103
+ shader = new Shader(shaderContent.name, subShaderList);
5104
+ shaderMap[shaderContent.name] = shader;
5048
5105
  return shader;
5049
5106
  } else {
5050
5107
  if (shaderMap[nameOrShaderSource]) {
@@ -8134,6 +8191,14 @@ var /**
8134
8191
  MSAASamples[MSAASamples[/** Multi-sample anti-aliasing with 8 samples. */ "EightX"] = 8] = "EightX";
8135
8192
  })(MSAASamples || (MSAASamples = {}));
8136
8193
 
8194
+ /**
8195
+ * The strategy to use when a shader replacement fails.
8196
+ */ var ReplacementFailureStrategy;
8197
+ (function(ReplacementFailureStrategy) {
8198
+ ReplacementFailureStrategy[ReplacementFailureStrategy[/** Keep the original shader. */ "KeepOriginalShader"] = 0] = "KeepOriginalShader";
8199
+ ReplacementFailureStrategy[ReplacementFailureStrategy[/** Do not render. */ "DoNotRender"] = 1] = "DoNotRender";
8200
+ })(ReplacementFailureStrategy || (ReplacementFailureStrategy = {}));
8201
+
8137
8202
  var _Camera;
8138
8203
  var MathTemp = function MathTemp() {
8139
8204
  };
@@ -8183,6 +8248,7 @@ var Camera = (_Camera = /*#__PURE__*/ function(Component1) {
8183
8248
  /** @internal */ _this._virtualCamera = new VirtualCamera();
8184
8249
  /** @internal */ _this._replacementShader = null;
8185
8250
  /** @internal */ _this._replacementSubShaderTag = null;
8251
+ /** @internal */ _this._replacementFailureStrategy = null;
8186
8252
  /** @internal */ _this._cameraIndex = -1;
8187
8253
  _this._priority = 0;
8188
8254
  _this._shaderData = new ShaderData(ShaderDataGroup.Camera);
@@ -8362,6 +8428,7 @@ var Camera = (_Camera = /*#__PURE__*/ function(Component1) {
8362
8428
  context.virtualCamera = virtualCamera;
8363
8429
  context.replacementShader = this._replacementShader;
8364
8430
  context.replacementTag = this._replacementSubShaderTag;
8431
+ context.replacementFailureStrategy = this._replacementFailureStrategy;
8365
8432
  // compute cull frustum.
8366
8433
  if (this.enableFrustumCulling && this._frustumChangeFlag.flag) {
8367
8434
  this._frustum.calculateFromMatrix(virtualCamera.viewProjectionMatrix);
@@ -8381,15 +8448,18 @@ var Camera = (_Camera = /*#__PURE__*/ function(Component1) {
8381
8448
  this._renderPipeline.render(context, cubeFace, mipLevel, clearMask);
8382
8449
  this._engine._renderCount++;
8383
8450
  };
8384
- _proto.setReplacementShader = function setReplacementShader(shader, replacementTag) {
8451
+ _proto.setReplacementShader = function setReplacementShader(shader, replacementTag, failureStrategy) {
8452
+ if (failureStrategy === void 0) failureStrategy = ReplacementFailureStrategy.KeepOriginalShader;
8385
8453
  this._replacementShader = shader;
8386
8454
  this._replacementSubShaderTag = typeof replacementTag === "string" ? ShaderTagKey.getByName(replacementTag) : replacementTag;
8455
+ this._replacementFailureStrategy = failureStrategy;
8387
8456
  };
8388
8457
  /**
8389
8458
  * Reset and clear the replacement shader.
8390
8459
  */ _proto.resetReplacementShader = function resetReplacementShader() {
8391
8460
  this._replacementShader = null;
8392
8461
  this._replacementSubShaderTag = null;
8462
+ this._replacementFailureStrategy = null;
8393
8463
  };
8394
8464
  /**
8395
8465
  * @inheritdoc
@@ -8503,7 +8573,7 @@ var Camera = (_Camera = /*#__PURE__*/ function(Component1) {
8503
8573
  this._checkMainCanvasAntialiasWaste();
8504
8574
  };
8505
8575
  _proto._checkMainCanvasAntialiasWaste = function _checkMainCanvasAntialiasWaste() {
8506
- if (this.independentCanvasEnabled && Vector4.equals(this._viewport, PipelineUtils.defaultViewport)) {
8576
+ if (this._phasedActiveInScene && this.independentCanvasEnabled && Vector4.equals(this._viewport, PipelineUtils.defaultViewport)) {
8507
8577
  Logger.warn("Camera use independent canvas and viewport cover the whole screen, it is recommended to disable antialias, depth and stencil to save memory when create engine.");
8508
8578
  }
8509
8579
  };
@@ -10197,6 +10267,7 @@ var /**
10197
10267
  break;
10198
10268
  }
10199
10269
  }
10270
+ context.replacementFailureStrategy === ReplacementFailureStrategy.KeepOriginalShader && this.pushRenderElementByType(renderElement, subRenderElement, materialSubShader.passes, renderStates);
10200
10271
  } else {
10201
10272
  this.pushRenderElementByType(renderElement, subRenderElement, replacementSubShaders[0].passes, renderStates);
10202
10273
  }
@@ -23341,7 +23412,7 @@ ShaderPool.init();
23341
23412
  */ _proto._initialize = function _initialize(configuration) {
23342
23413
  var _this = this;
23343
23414
  var shaderLab = configuration.shaderLab, physics = configuration.physics;
23344
- if (shaderLab) {
23415
+ if (shaderLab && !Shader._shaderLab) {
23345
23416
  Shader._shaderLab = shaderLab;
23346
23417
  }
23347
23418
  var initializePromises = new Array();
@@ -25280,6 +25351,9 @@ var TonemappingEffect = /*#__PURE__*/ function() {
25280
25351
  */ var _PostProcessManager = /*#__PURE__*/ function() {
25281
25352
  function _PostProcessManager(scene) {
25282
25353
  this.scene = scene;
25354
+ this./**
25355
+ * Whether the post process manager is active.
25356
+ */ isActive = true;
25283
25357
  var uberShader = Shader.find(_PostProcessManager.UBER_SHADER_NAME);
25284
25358
  var uberMaterial = new Material(scene.engine, uberShader);
25285
25359
  var depthState = uberMaterial.renderState.depthState;
@@ -25313,7 +25387,7 @@ var TonemappingEffect = /*#__PURE__*/ function() {
25313
25387
  get: /**
25314
25388
  * Whether has active post process effect.
25315
25389
  */ function get() {
25316
- return this._bloomEffect.enabled || this._tonemappingEffect.enabled;
25390
+ return this.isActive && (this._bloomEffect.enabled || this._tonemappingEffect.enabled);
25317
25391
  }
25318
25392
  }
25319
25393
  ]);
@@ -34105,5 +34179,5 @@ var cacheDir = new Vector3();
34105
34179
  return CubeProbe;
34106
34180
  }(Probe);
34107
34181
 
34108
- export { AmbientLight, AnimationArrayCurve, AnimationBoolCurve, AnimationClip, AnimationClipCurveBinding, AnimationColorCurve, AnimationCurve, AnimationEvent, AnimationFloatArrayCurve, AnimationFloatCurve, AnimationQuaternionCurve, AnimationRectCurve, AnimationRefCurve, AnimationStringCurve, AnimationVector2Curve, AnimationVector3Curve, AnimationVector4Curve, Animator, AnimatorConditionMode, AnimatorController, AnimatorControllerLayer, AnimatorCullingMode, AnimatorLayerBlendingMode, AnimatorLayerMask, AnimatorState, AnimatorStateMachine, AnimatorStateTransition, AssetPromise, AssetType, Background, BackgroundMode, BackgroundTextureFillMode, BaseMaterial, BasicRenderPipeline, BlendFactor, BlendMode, BlendOperation, BlendShape, BlendShapeFrame, BlendState, BlinnPhongMaterial, BloomDownScaleMode, BloomEffect, BoolUpdateFlag, BoxColliderShape, BoxShape, Buffer, BufferBindFlag, BufferMesh, BufferUsage, BufferUtil, Burst, Camera, CameraClearFlags, CameraType, Canvas, CapsuleColliderShape, CharacterController, CircleShape, ClearableObjectPool, CloneManager, Collider, ColliderShape, ColliderShapeUpAxis, CollisionDetectionMode, ColorOverLifetimeModule, ColorSpace, ColorWriteMask, CompareFunction, Component, ConeEmitType, ConeShape, ContentRestorer, ControllerCollisionFlag, ControllerNonWalkableMode, CubeProbe, CullMode, CurveKey, DataType, DependentMode, DepthState, DepthTextureMode, DiffuseMode, DirectLight, Downsampling, DynamicCollider, DynamicColliderConstraints, EmissionModule, Engine, EngineObject, Entity, EventDispatcher, FixedJoint, FogMode, Font, FontStyle, GLCapabilityType, GradientAlphaKey, GradientColorKey, HemisphereShape, HingeJoint, HitResult, IndexBufferBinding, IndexFormat, InputManager, InterpolationType, Joint, JointLimits, JointMotor, Keyframe, Keys, Layer, Light, Loader, Logger, MSAASamples, MainModule, Material, Mesh, MeshRenderer, MeshTopology, ModelMesh, OverflowMode, PBRBaseMaterial, PBRMaterial, PBRSpecularMaterial, ParticleCompositeCurve, ParticleCompositeGradient, ParticleCurve, ParticleCurveMode, ParticleGenerator, ParticleGradient, ParticleGradientMode, ParticleMaterial, ParticleRenderMode, ParticleRenderer, ParticleScaleMode, ParticleShapeArcMode, ParticleShapeType, ParticleSimulationSpace, ParticleStopMode, PhysicsMaterial, PhysicsMaterialCombineMode, PhysicsScene, PipelineStage, PlaneColliderShape, Platform, PointLight, Pointer, PointerButton, PointerPhase, Primitive, PrimitiveMesh, Probe, RasterState, ReferResource, RenderBufferDepthFormat, RenderFace, RenderQueue, RenderQueueType, RenderState, RenderStateElementKey as RenderStateDataKey, RenderTarget, RenderTargetBlendState, Renderer, ResourceManager, ReturnableObjectPool, RotationOverLifetimeModule, Scene, SceneManager, Script, SetDataOptions, Shader, ShaderData, ShaderFactory, ShaderLib, ShaderMacro, ShaderMacroCollection, ShaderPass, ShaderProperty, ShaderPropertyType, ShaderTagKey, ShadowCascadesMode, ShadowResolution, ShadowType, SizeOverLifetimeModule, Skin, SkinnedMeshRenderer, Sky, SkyBoxMaterial, SkyProceduralMaterial, SphereColliderShape, SphereShape, SpotLight, SpringJoint, Sprite, SpriteAtlas, SpriteDrawMode, SpriteMask, SpriteMaskInteraction, SpriteMaskLayer, SpriteRenderer, SpriteTileMode, StateMachineScript, StaticCollider, StencilOperation, StencilState, SubMesh, SubPrimitive, SubShader, SunMode, SystemInfo, TextHorizontalAlignment, TextRenderer, TextUtils, TextVerticalAlignment, Texture, Texture2D, Texture2DArray, TextureCoordinate, TextureCube, TextureCubeFace, TextureDepthCompareFunction, TextureFilterMode, TextureFormat, TextureSheetAnimationModule, TextureUsage, TextureWrapMode, Time, TonemappingEffect, TonemappingMode, TrailMaterial, TrailRenderer, Transform, UnlitMaterial, Utils, VelocityOverLifetimeModule, VertexAttribute, VertexBufferBinding, VertexElement, VertexElementFormat, WrapMode, XRManager, _PostProcessManager, assignmentClone, deepClone, dependentComponents, ignoreClone, request, resourceLoader, shallowClone };
34182
+ export { AmbientLight, AnimationArrayCurve, AnimationBoolCurve, AnimationClip, AnimationClipCurveBinding, AnimationColorCurve, AnimationCurve, AnimationEvent, AnimationFloatArrayCurve, AnimationFloatCurve, AnimationQuaternionCurve, AnimationRectCurve, AnimationRefCurve, AnimationStringCurve, AnimationVector2Curve, AnimationVector3Curve, AnimationVector4Curve, Animator, AnimatorConditionMode, AnimatorController, AnimatorControllerLayer, AnimatorCullingMode, AnimatorLayerBlendingMode, AnimatorLayerMask, AnimatorState, AnimatorStateMachine, AnimatorStateTransition, AssetPromise, AssetType, Background, BackgroundMode, BackgroundTextureFillMode, BaseMaterial, BasicRenderPipeline, BlendFactor, BlendMode, BlendOperation, BlendShape, BlendShapeFrame, BlendState, BlinnPhongMaterial, BloomDownScaleMode, BloomEffect, BoolUpdateFlag, BoxColliderShape, BoxShape, Buffer, BufferBindFlag, BufferMesh, BufferUsage, BufferUtil, Burst, Camera, CameraClearFlags, CameraType, Canvas, CapsuleColliderShape, CharacterController, CircleShape, ClearableObjectPool, CloneManager, Collider, ColliderShape, ColliderShapeUpAxis, CollisionDetectionMode, ColorOverLifetimeModule, ColorSpace, ColorWriteMask, CompareFunction, Component, ConeEmitType, ConeShape, ContentRestorer, ControllerCollisionFlag, ControllerNonWalkableMode, CubeProbe, CullMode, CurveKey, DataType, DependentMode, DepthState, DepthTextureMode, DiffuseMode, DirectLight, Downsampling, DynamicCollider, DynamicColliderConstraints, EmissionModule, Engine, EngineObject, Entity, EventDispatcher, FixedJoint, FogMode, Font, FontStyle, GLCapabilityType, GradientAlphaKey, GradientColorKey, HemisphereShape, HingeJoint, HitResult, IndexBufferBinding, IndexFormat, InputManager, InterpolationType, Joint, JointLimits, JointMotor, Keyframe, Keys, Layer, Light, Loader, Logger, MSAASamples, MainModule, Material, Mesh, MeshRenderer, MeshTopology, ModelMesh, OverflowMode, PBRBaseMaterial, PBRMaterial, PBRSpecularMaterial, ParticleCompositeCurve, ParticleCompositeGradient, ParticleCurve, ParticleCurveMode, ParticleGenerator, ParticleGradient, ParticleGradientMode, ParticleMaterial, ParticleRenderMode, ParticleRenderer, ParticleScaleMode, ParticleShapeArcMode, ParticleShapeType, ParticleSimulationSpace, ParticleStopMode, PhysicsMaterial, PhysicsMaterialCombineMode, PhysicsScene, PipelineStage, PlaneColliderShape, Platform, PointLight, Pointer, PointerButton, PointerPhase, Primitive, PrimitiveMesh, Probe, RasterState, ReferResource, RenderBufferDepthFormat, RenderFace, RenderQueue, RenderQueueType, RenderState, RenderStateElementKey as RenderStateDataKey, RenderTarget, RenderTargetBlendState, Renderer, ReplacementFailureStrategy, ResourceManager, ReturnableObjectPool, RotationOverLifetimeModule, Scene, SceneManager, Script, SetDataOptions, Shader, ShaderData, ShaderFactory, ShaderLib, ShaderMacro, ShaderMacroCollection, ShaderPass, ShaderPlatformTarget, ShaderProperty, ShaderPropertyType, ShaderTagKey, ShadowCascadesMode, ShadowResolution, ShadowType, SizeOverLifetimeModule, Skin, SkinnedMeshRenderer, Sky, SkyBoxMaterial, SkyProceduralMaterial, SphereColliderShape, SphereShape, SpotLight, SpringJoint, Sprite, SpriteAtlas, SpriteDrawMode, SpriteMask, SpriteMaskInteraction, SpriteMaskLayer, SpriteRenderer, SpriteTileMode, StateMachineScript, StaticCollider, StencilOperation, StencilState, SubMesh, SubPrimitive, SubShader, SunMode, SystemInfo, TextHorizontalAlignment, TextRenderer, TextUtils, TextVerticalAlignment, Texture, Texture2D, Texture2DArray, TextureCoordinate, TextureCube, TextureCubeFace, TextureDepthCompareFunction, TextureFilterMode, TextureFormat, TextureSheetAnimationModule, TextureUsage, TextureWrapMode, Time, TonemappingEffect, TonemappingMode, TrailMaterial, TrailRenderer, Transform, UnlitMaterial, Utils, VelocityOverLifetimeModule, VertexAttribute, VertexBufferBinding, VertexElement, VertexElementFormat, WrapMode, XRManager, _PostProcessManager, assignmentClone, deepClone, dependentComponents, ignoreClone, request, resourceLoader, shallowClone };
34109
34183
  //# sourceMappingURL=module.js.map