@galacean/engine-core 0.0.0-experimental-1.3-xr.9 → 0.0.0-experimental-1.4-small-language.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/dist/main.js +18058 -16130
  2. package/dist/main.js.map +1 -1
  3. package/dist/module.js +16443 -14637
  4. package/dist/module.js.map +1 -1
  5. package/package.json +6 -3
  6. package/types/2d/assembler/ISpriteAssembler.d.ts +11 -1
  7. package/types/2d/assembler/ISpriteRenderer.d.ts +16 -0
  8. package/types/2d/assembler/SimpleSpriteAssembler.d.ts +13 -1
  9. package/types/2d/assembler/SlicedSpriteAssembler.d.ts +15 -1
  10. package/types/2d/assembler/TiledSpriteAssembler.d.ts +17 -1
  11. package/types/2d/enums/SpriteModifyFlags.d.ts +9 -0
  12. package/types/2d/index.d.ts +12 -5
  13. package/types/2d/sprite/Sprite.d.ts +2 -2
  14. package/types/2d/sprite/SpriteMask.d.ts +4 -2
  15. package/types/2d/sprite/SpriteRenderer.d.ts +5 -4
  16. package/types/2d/sprite/index.d.ts +1 -1
  17. package/types/2d/text/ITextRenderer.d.ts +8 -0
  18. package/types/2d/text/TextRenderer.d.ts +26 -5
  19. package/types/2d/text/index.d.ts +3 -1
  20. package/types/BasicResources.d.ts +2 -1
  21. package/types/Camera.d.ts +7 -3
  22. package/types/ComponentsManager.d.ts +4 -0
  23. package/types/Engine.d.ts +12 -3
  24. package/types/Entity.d.ts +22 -6
  25. package/types/RenderPipeline/BasicRenderPipeline.d.ts +4 -0
  26. package/types/RenderPipeline/Blitter.d.ts +28 -0
  27. package/types/RenderPipeline/index.d.ts +3 -1
  28. package/types/Renderer.d.ts +19 -2
  29. package/types/Scene.d.ts +4 -1
  30. package/types/Script.d.ts +42 -18
  31. package/types/Transform.d.ts +17 -7
  32. package/types/animation/Animator.d.ts +42 -7
  33. package/types/animation/AnimatorCondition.d.ts +2 -2
  34. package/types/animation/AnimatorController.d.ts +26 -16
  35. package/types/animation/AnimatorControllerParameter.d.ts +9 -5
  36. package/types/animation/AnimatorState.d.ts +0 -1
  37. package/types/animation/AnimatorStateMachine.d.ts +10 -6
  38. package/types/animation/AnimatorStateTransition.d.ts +13 -5
  39. package/types/animation/index.d.ts +3 -0
  40. package/types/asset/AssetPromise.d.ts +30 -5
  41. package/types/asset/AssetType.d.ts +8 -2
  42. package/types/asset/Loader.d.ts +0 -2
  43. package/types/asset/ResourceManager.d.ts +7 -2
  44. package/types/asset/request.d.ts +10 -3
  45. package/types/audio/AudioClip.d.ts +24 -0
  46. package/types/audio/AudioSource.d.ts +72 -0
  47. package/types/audio/index.d.ts +3 -0
  48. package/types/base/Constant.d.ts +22 -22
  49. package/types/enums/CameraModifyFlags.d.ts +17 -0
  50. package/types/enums/EntityModifyFlags.d.ts +9 -0
  51. package/types/{2d/enums → enums}/SpriteMaskLayer.d.ts +3 -1
  52. package/types/index.d.ts +7 -1
  53. package/types/input/index.d.ts +5 -2
  54. package/types/input/pointer/Pointer.d.ts +8 -2
  55. package/types/input/pointer/PointerEventData.d.ts +12 -0
  56. package/types/input/pointer/PointerManager.d.ts +9 -1
  57. package/types/input/pointer/emitter/PointerEventEmitter.d.ts +30 -0
  58. package/types/lighting/DirectLight.d.ts +5 -0
  59. package/types/lighting/Light.d.ts +8 -3
  60. package/types/material/BaseMaterial.d.ts +4 -2
  61. package/types/material/Material.d.ts +1 -0
  62. package/types/material/PBRMaterial.d.ts +130 -0
  63. package/types/material/enums/Refraction.d.ts +9 -0
  64. package/types/material/index.d.ts +1 -0
  65. package/types/material/utils/PrefilteredDFG.d.ts +7 -0
  66. package/types/mesh/SkinnedMeshRenderer.d.ts +1 -1
  67. package/types/particle/ParticleGenerator.d.ts +1 -0
  68. package/types/particle/ParticleRenderer.d.ts +1 -1
  69. package/types/particle/modules/MainModule.d.ts +1 -2
  70. package/types/particle/modules/TextureSheetAnimationModule.d.ts +3 -5
  71. package/types/physics/CharacterController.d.ts +6 -6
  72. package/types/physics/Collider.d.ts +3 -1
  73. package/types/physics/Collision.d.ts +18 -0
  74. package/types/physics/ContactPoint.d.ts +14 -0
  75. package/types/physics/DynamicCollider.d.ts +35 -4
  76. package/types/physics/HitResult.d.ts +1 -1
  77. package/types/physics/PhysicsMaterial.d.ts +5 -1
  78. package/types/physics/index.d.ts +2 -0
  79. package/types/physics/joint/FixedJoint.d.ts +1 -0
  80. package/types/physics/joint/HingeJoint.d.ts +11 -7
  81. package/types/physics/joint/Joint.d.ts +32 -10
  82. package/types/physics/joint/JointLimits.d.ts +34 -10
  83. package/types/physics/joint/JointMotor.d.ts +27 -8
  84. package/types/physics/joint/SpringJoint.d.ts +2 -6
  85. package/types/physics/shape/BoxColliderShape.d.ts +1 -0
  86. package/types/physics/shape/CapsuleColliderShape.d.ts +1 -0
  87. package/types/physics/shape/ColliderShape.d.ts +11 -3
  88. package/types/physics/shape/PlaneColliderShape.d.ts +2 -0
  89. package/types/physics/shape/SphereColliderShape.d.ts +1 -1
  90. package/types/postProcess/PostProcess.d.ts +64 -0
  91. package/types/postProcess/PostProcessEffect.d.ts +26 -0
  92. package/types/postProcess/PostProcessEffectParameter.d.ts +119 -0
  93. package/types/postProcess/PostProcessManager.d.ts +37 -1
  94. package/types/postProcess/PostProcessPass.d.ts +50 -0
  95. package/types/postProcess/PostProcessUberPass.d.ts +25 -0
  96. package/types/postProcess/effects/BloomEffect.d.ts +22 -66
  97. package/types/postProcess/effects/TonemappingEffect.d.ts +6 -16
  98. package/types/postProcess/index.d.ts +6 -2
  99. package/types/shader/Shader.d.ts +1 -1
  100. package/types/shader/index.d.ts +1 -0
  101. package/types/shaderlib/ShaderLib.d.ts +2 -0
  102. package/types/shaderlib/pbr/index.d.ts +2 -0
  103. package/types/ui/UIUtils.d.ts +11 -0
  104. package/types/utils/DisorderedArray.d.ts +70 -0
  105. package/dist/miniprogram.js +0 -34351
  106. package/types/DisorderedArray.d.ts +0 -27
  107. package/types/RenderPipeline/Basic2DBatcher.d.ts +0 -19
  108. package/types/RenderPipeline/ClassPool.d.ts +0 -19
  109. package/types/RenderPipeline/IPoolElement.d.ts +0 -3
  110. package/types/RenderPipeline/RenderData.d.ts +0 -14
  111. package/types/RenderPipeline/RenderData2D.d.ts +0 -14
  112. package/types/RenderPipeline/RenderPass.d.ts +0 -55
  113. package/types/RenderPipeline/SpriteMaskBatcher.d.ts +0 -11
  114. package/types/RenderPipeline/SpriteMaskManager.d.ts +0 -1
  115. package/types/RenderPipeline/SpriteMaskRenderData.d.ts +0 -12
  116. package/types/RenderPipeline/SpriteRenderData.d.ts +0 -14
  117. package/types/RenderPipeline/TextRenderData.d.ts +0 -8
  118. package/types/RenderPipeline/enums/ForceUploadShaderDataFlag.d.ts +0 -15
  119. package/types/RenderPipeline/enums/RenderDataUsage.d.ts +0 -13
  120. package/types/animation/AnimatorTransition.d.ts +0 -14
  121. package/types/input/pointer/PointerEvent.d.ts +0 -4
  122. package/types/input/pointer/PointerEventType.d.ts +0 -7
  123. package/types/renderingHardwareInterface/IHardwareRenderer.d.ts +0 -6
  124. package/types/ui/Image.d.ts +0 -38
  125. package/types/ui/RedBlackTree.d.ts +0 -2
  126. package/types/ui/UICanvas.d.ts +0 -55
  127. package/types/ui/UIRenderer.d.ts +0 -14
  128. package/types/ui/UITransform.d.ts +0 -20
  129. package/types/ui/enums/BlockingObjects.d.ts +0 -6
  130. package/types/ui/enums/CanvasRenderMode.d.ts +0 -8
  131. package/types/ui/enums/ResolutionAdaptationStrategy.d.ts +0 -10
  132. package/types/ui/index.d.ts +0 -6
  133. package/types/utils/Pool.d.ts +0 -12
  134. /package/types/{2d/assembler/IAssembler.d.ts → Polyfill.d.ts} +0 -0
  135. /package/types/{2d/data/VertexData2D.d.ts → RenderPipeline/enums/RenderQueueMaskType.d.ts} +0 -0
  136. /package/types/{2d/text/CharRenderData.d.ts → animation/AnimatorStateTransitionCollection.d.ts} +0 -0
  137. /package/types/{2d/text/CharRenderDataPool.d.ts → audio/AudioManager.d.ts} +0 -0
  138. /package/types/{RenderPipeline/DynamicGeometryData.d.ts → input/pointer/emitter/IHitResult.d.ts} +0 -0
  139. /package/types/{RenderPipeline/DynamicGeometryDataManager.d.ts → input/pointer/emitter/PhysicsPointerEventEmitter.d.ts} +0 -0
  140. /package/types/{RenderPipeline/SpriteBatcher.d.ts → ui/IUICanvas.d.ts} +0 -0
@@ -0,0 +1,119 @@
1
+ import { Color, Vector2, Vector3, Vector4 } from "@galacean/engine-math";
2
+ import { Texture } from "../texture";
3
+ /**
4
+ * Represents a parameter of a post process effect.
5
+ * @remarks
6
+ * The parameter will be mixed to a final value and be used in post process manager.
7
+ */
8
+ export declare abstract class PostProcessEffectParameter<T> {
9
+ /**
10
+ * Whether the parameter is enabled.
11
+ */
12
+ enabled: boolean;
13
+ protected _needLerp: boolean;
14
+ protected _value: T;
15
+ /**
16
+ * The value of the parameter.
17
+ */
18
+ get value(): T;
19
+ set value(value: T);
20
+ constructor(value: T, needLerp?: boolean);
21
+ }
22
+ /**
23
+ * Represents a float parameter of a post process effect.
24
+ */
25
+ export declare class PostProcessEffectFloatParameter extends PostProcessEffectParameter<number> {
26
+ readonly min: number;
27
+ readonly max: number;
28
+ get value(): number;
29
+ set value(v: number);
30
+ /**
31
+ * Create a new float parameter.
32
+ * @param value - The default value of the parameter
33
+ * @param _min - The minimum value of the parameter, default is Number.NEGATIVE_INFINITY
34
+ * @param _max - The maximum value of the parameter, default is Number.POSITIVE_INFINITY
35
+ * @param needLerp - Whether the parameter needs to be lerp, default is true
36
+ */
37
+ constructor(value: number, min?: number, max?: number, needLerp?: boolean);
38
+ _lerp(to: number, factor: number): void;
39
+ }
40
+ /**
41
+ * Represents a boolean parameter of a post process effect.
42
+ */
43
+ export declare class PostProcessEffectBoolParameter extends PostProcessEffectParameter<boolean> {
44
+ /**
45
+ * Create a new boolean parameter.
46
+ * @param value - The default value of the parameter
47
+ */
48
+ constructor(value: boolean);
49
+ }
50
+ /**
51
+ * Represents a texture parameter of a post process effect.
52
+ */
53
+ export declare class PostProcessEffectTextureParameter extends PostProcessEffectParameter<Texture> {
54
+ /**
55
+ * Create a new texture parameter.
56
+ * @param value - The default texture of the parameter
57
+ */
58
+ constructor(value: Texture);
59
+ }
60
+ /**
61
+ * Represents a color parameter of a post process effect.
62
+ */
63
+ export declare class PostProcessEffectColorParameter extends PostProcessEffectParameter<Color> {
64
+ /**
65
+ * Create a new color parameter.
66
+ * @param value - The default color of the parameter
67
+ * @param needLerp - Whether the parameter needs to be lerp, default is true
68
+ */
69
+ constructor(value: Color, needLerp?: boolean);
70
+ _lerp(to: Color, factor: number): void;
71
+ }
72
+ /**
73
+ * Represents a vector2 parameter of a post process effect.
74
+ */
75
+ export declare class PostProcessEffectVector2Parameter extends PostProcessEffectParameter<Vector2> {
76
+ /**
77
+ * Create a new vector2 parameter.
78
+ * @param value - The default vector2 of the parameter
79
+ * @param needLerp - Whether the parameter needs to be lerp, default is true
80
+ */
81
+ constructor(value: Vector2, needLerp?: boolean);
82
+ _lerp(to: Vector2, factor: number): void;
83
+ }
84
+ /**
85
+ * Represents a vector3 parameter of a post process effect.
86
+ */
87
+ export declare class PostProcessEffectVector3Parameter extends PostProcessEffectParameter<Vector3> {
88
+ /**
89
+ * Create a new vector3 parameter.
90
+ * @param value - The default vector3 of the parameter
91
+ * @param needLerp - Whether the parameter needs to be lerp, default is true
92
+ */
93
+ constructor(value: Vector3, needLerp?: boolean);
94
+ _lerp(to: Vector3, factor: number): void;
95
+ }
96
+ /**
97
+ * Represents a vector4 parameter of a post process effect.
98
+ */
99
+ export declare class PostProcessEffectVector4Parameter extends PostProcessEffectParameter<Vector4> {
100
+ /**
101
+ * Create a new vector4 parameter.
102
+ * @param value - The default vector4 of the parameter
103
+ * @param needLerp - Whether the parameter needs to be lerp, default is true
104
+ */
105
+ constructor(value: Vector4, needLerp?: boolean);
106
+ _lerp(to: Vector4, factor: number): void;
107
+ }
108
+ /**
109
+ * Represents a enum parameter of a post process effect.
110
+ */
111
+ export declare class PostProcessEffectEnumParameter<T> extends PostProcessEffectParameter<T> {
112
+ readonly enumType: Record<string, number | string>;
113
+ /**
114
+ * Create a new enum parameter.
115
+ * @param enumType - The type of the enum
116
+ * @param value - The default enum value of the parameter
117
+ */
118
+ constructor(enumType: Record<string, number | string>, value: T);
119
+ }
@@ -1 +1,37 @@
1
- export {};
1
+ import { Scene } from "../Scene";
2
+ import { PostProcessEffect } from "./PostProcessEffect";
3
+ /**
4
+ * A global manager of the PostProcess.
5
+ */
6
+ export declare class PostProcessManager {
7
+ readonly scene: Scene;
8
+ private static _tempColliders;
9
+ private static _tempVector3;
10
+ private _activePostProcesses;
11
+ private _swapRenderTarget;
12
+ private _srcRenderTarget;
13
+ private _destRenderTarget;
14
+ private _currentSourceRenderTarget;
15
+ private _currentDestRenderTarget;
16
+ private _blendEffectMap;
17
+ private _defaultEffectMap;
18
+ private _remainActivePassCount;
19
+ /**
20
+ * Create a PostProcessManager.
21
+ * @param scene - Scene to which the current PostProcessManager belongs
22
+ */
23
+ constructor(scene: Scene);
24
+ /**
25
+ * Get the blend effect by type.
26
+ * @remarks
27
+ * The blend effect is a post process effect that is used to blend all result of the effects by the type.
28
+ * @param type - The type of PostProcessEffect
29
+ * @returns The PostProcessEffect instance found
30
+ */
31
+ getBlendEffect<T extends typeof PostProcessEffect>(type: T): InstanceType<T>;
32
+ private _sortActivePostProcess;
33
+ private _resetDefaultValue;
34
+ private _initSwapRenderTarget;
35
+ private _swapRT;
36
+ private _getCurrentSourceTexture;
37
+ }
@@ -0,0 +1,50 @@
1
+ import { EngineObject } from "../base";
2
+ import { Camera } from "../Camera";
3
+ import { RenderTarget, Texture2D } from "../texture";
4
+ import { PostProcessManager } from "./PostProcessManager";
5
+ /**
6
+ * Controls when the post process pass executes.
7
+ */
8
+ export declare enum PostProcessPassEvent {
9
+ /** Before the uber pass. */
10
+ BeforeUber = 0,
11
+ /** After the uber pass. */
12
+ AfterUber = 100
13
+ }
14
+ /**
15
+ * Post process pass.
16
+ */
17
+ export declare abstract class PostProcessPass extends EngineObject {
18
+ private _event;
19
+ private _isActive;
20
+ /**
21
+ * When the post process pass is rendered.
22
+ * @remarks
23
+ * Users can also inject pass events in a specific point by doing PostProcessPassEvent + offset.
24
+ */
25
+ get event(): PostProcessPassEvent;
26
+ set event(value: PostProcessPassEvent);
27
+ /**
28
+ * Whether the post process pass is active.
29
+ */
30
+ get isActive(): boolean;
31
+ set isActive(value: boolean);
32
+ /**
33
+ * Whether the post process pass is valid in current post process manager.
34
+ * @remarks
35
+ * This method can be overridden to control the pass's real validity.
36
+ * @param postProcessManager - The post process manager
37
+ */
38
+ isValid(postProcessManager: PostProcessManager): boolean;
39
+ /**
40
+ * Execute the post process pass if it is active.
41
+ * @param camera - The camera used to render
42
+ * @param srcTexture - The source texture from last render target
43
+ * @param destTarget - The destination render target
44
+ */
45
+ abstract onRender(camera: Camera, srcTexture: Texture2D, destTarget: RenderTarget): void;
46
+ /**
47
+ * @inheritdoc
48
+ */
49
+ _onDestroy(): void;
50
+ }
@@ -0,0 +1,25 @@
1
+ import { Camera } from "../Camera";
2
+ import { Engine } from "../Engine";
3
+ import { RenderTarget, Texture2D } from "../texture";
4
+ import { PostProcessPass } from "./PostProcessPass";
5
+ import { PostProcessManager } from "./PostProcessManager";
6
+ export declare class PostProcessUberPass extends PostProcessPass {
7
+ static readonly UBER_SHADER_NAME = "UberPost";
8
+ private _uberMaterial;
9
+ private _bloomMaterial;
10
+ private _mipDownRT;
11
+ private _mipUpRT;
12
+ constructor(engine: Engine);
13
+ /** @inheritdoc */
14
+ isValid(postProcessManager: PostProcessManager): boolean;
15
+ /**
16
+ * @inheritdoc
17
+ */
18
+ onRender(camera: Camera, srcTexture: Texture2D, destTarget: RenderTarget): void;
19
+ /**
20
+ * @inheritdoc
21
+ */
22
+ _onDestroy(): void;
23
+ private _setupBloom;
24
+ private _releaseBloomRenderTargets;
25
+ }
@@ -1,94 +1,50 @@
1
- import { Color } from "@galacean/engine-math";
2
- import { RenderContext } from "../../RenderPipeline/RenderContext";
3
- import { Material } from "../../material";
4
- import { Texture2D } from "../../texture";
1
+ import { PostProcessEffect } from "../PostProcessEffect";
2
+ import { PostProcessEffectBoolParameter, PostProcessEffectColorParameter, PostProcessEffectEnumParameter, PostProcessEffectFloatParameter, PostProcessEffectTextureParameter } from "../PostProcessEffectParameter";
5
3
  /**
6
4
  * This controls the size of the bloom texture.
7
5
  */
8
6
  export declare enum BloomDownScaleMode {
9
- /**
10
- * Use this to select half size as the starting resolution.
11
- */
7
+ /** Use this to select half size as the starting resolution. */
12
8
  Half = 0,
13
- /**
14
- * Use this to select quarter size as the starting resolution.
15
- */
9
+ /** Use this to select quarter size as the starting resolution. */
16
10
  Quarter = 1
17
11
  }
18
- export declare class BloomEffect {
19
- private _uberMaterial;
12
+ export declare class BloomEffect extends PostProcessEffect {
20
13
  static readonly SHADER_NAME = "PostProcessEffect Bloom";
21
- private static _hqMacro;
22
- private static _dirtMacro;
23
- private static _bloomParams;
24
- private static _lowMipTextureProp;
25
- private static _lowMipTexelSizeProp;
26
- private static _enableMacro;
27
- private static _bloomTextureProp;
28
- private static _dirtTextureProp;
29
- private static _tintProp;
30
- private static _bloomIntensityParams;
31
- private static _dirtTilingOffsetProp;
32
- private _bloomMaterial;
33
- private _threshold;
34
- private _scatter;
35
- private _highQualityFiltering;
36
- private _mipDownRT;
37
- private _mipUpRT;
38
- private _maxIterations;
39
- private _enabled;
14
+ /**
15
+ * Controls whether to use bicubic sampling instead of bilinear sampling for the upSampling passes.
16
+ * @remarks This is slightly more expensive but helps getting smoother visuals.
17
+ */
18
+ highQualityFiltering: PostProcessEffectBoolParameter;
40
19
  /**
41
20
  * Controls the starting resolution that this effect begins processing.
42
21
  */
43
- downScale: BloomDownScaleMode;
22
+ downScale: PostProcessEffectEnumParameter<BloomDownScaleMode>;
44
23
  /**
45
- * Indicates whether the post process effect is enabled.
24
+ * Specifies a Texture to add smudges or dust to the bloom effect.
46
25
  */
47
- get enabled(): boolean;
48
- set enabled(value: boolean);
26
+ dirtTexture: PostProcessEffectTextureParameter;
49
27
  /**
50
28
  * Set the level of brightness to filter out pixels under this level.
51
29
  * @remarks This value is expressed in gamma-space.
52
30
  */
53
- get threshold(): number;
54
- set threshold(value: number);
31
+ threshold: PostProcessEffectFloatParameter;
55
32
  /**
56
33
  * Controls the radius of the bloom effect.
57
34
  */
58
- get scatter(): number;
59
- set scatter(value: number);
35
+ scatter: PostProcessEffectFloatParameter;
60
36
  /**
61
37
  * Controls the strength of the bloom effect.
62
38
  */
63
- get intensity(): number;
64
- set intensity(value: number);
65
- /**
66
- * Specifies the tint of the bloom effect.
67
- */
68
- get tint(): Color;
69
- set tint(value: Color);
70
- /**
71
- * Controls whether to use bicubic sampling instead of bilinear sampling for the upSampling passes.
72
- * @remarks This is slightly more expensive but helps getting smoother visuals.
73
- */
74
- get highQualityFiltering(): boolean;
75
- set highQualityFiltering(value: boolean);
39
+ intensity: PostProcessEffectFloatParameter;
76
40
  /**
77
- * Specifies a Texture to add smudges or dust to the bloom effect.
41
+ * Controls the strength of the lens dirt.
78
42
  */
79
- get dirtTexture(): Texture2D;
80
- set dirtTexture(value: Texture2D);
43
+ dirtIntensity: PostProcessEffectFloatParameter;
81
44
  /**
82
- * Controls the strength of the lens dirt.
45
+ * Specifies the tint of the bloom effect.
83
46
  */
84
- get dirtIntensity(): number;
85
- set dirtIntensity(value: number);
86
- constructor(_uberMaterial: Material);
87
- onRender(context: RenderContext, srcTexture: Texture2D): void;
88
- private _calculateMipCount;
89
- private _prefilter;
90
- private _downsample;
91
- private _upsample;
92
- private _setupUber;
93
- private _releaseRenderTargets;
47
+ tint: PostProcessEffectColorParameter;
48
+ /** @inheritdoc */
49
+ isValid(): boolean;
94
50
  }
@@ -1,35 +1,25 @@
1
- import { Material } from "../../material";
1
+ import { PostProcessEffect } from "../PostProcessEffect";
2
+ import { PostProcessEffectEnumParameter } from "../PostProcessEffectParameter";
2
3
  /**
3
4
  * Options to select a tonemapping algorithm to use.
4
5
  */
5
6
  export declare enum TonemappingMode {
6
7
  /**
7
- * Neutral tonemapper
8
+ * Neutral tonemapper.
8
9
  * @remarks Use this option if you only want range-remapping with minimal impact on color hue and saturation.
9
10
  */
10
11
  Neutral = 0,
11
12
  /**
12
- * ACES Filmic reference tonemapper (custom approximation)
13
+ * ACES Filmic reference tonemapper (custom approximation).
13
14
  * @remarks
14
15
  * Use this option to apply a close approximation of the reference ACES tonemapper for a more filmic look.
15
16
  * It is more contrasted than Neutral and has an effect on actual color hue and saturation.
16
17
  */
17
18
  ACES = 1
18
19
  }
19
- export declare class TonemappingEffect {
20
- private _uberMaterial;
21
- private static _enableMacro;
22
- private _mode;
23
- private _enabled;
24
- /**
25
- * Indicates whether the post process effect is enabled.
26
- */
27
- get enabled(): boolean;
28
- set enabled(value: boolean);
20
+ export declare class TonemappingEffect extends PostProcessEffect {
29
21
  /**
30
22
  * Use this to select a tonemapping algorithm to use.
31
23
  */
32
- get mode(): TonemappingMode;
33
- set mode(value: TonemappingMode);
34
- constructor(_uberMaterial: Material);
24
+ mode: PostProcessEffectEnumParameter<TonemappingMode>;
35
25
  }
@@ -1,3 +1,7 @@
1
- import { _PostProcessManager } from "./PostProcessManager";
2
1
  export * from "./effects";
3
- export { _PostProcessManager };
2
+ export { PostProcess } from "./PostProcess";
3
+ export { PostProcessEffect } from "./PostProcessEffect";
4
+ export { PostProcessEffectBoolParameter, PostProcessEffectColorParameter, PostProcessEffectEnumParameter, PostProcessEffectFloatParameter, PostProcessEffectParameter, PostProcessEffectTextureParameter, PostProcessEffectVector2Parameter, PostProcessEffectVector3Parameter, PostProcessEffectVector4Parameter } from "./PostProcessEffectParameter";
5
+ export { PostProcessManager } from "./PostProcessManager";
6
+ export { PostProcessPass, PostProcessPassEvent } from "./PostProcessPass";
7
+ export { PostProcessUberPass } from "./PostProcessUberPass";
@@ -18,7 +18,7 @@ export declare class Shader implements IReferable {
18
18
  * ShaderLab must be enabled first as follows:
19
19
  * ```ts
20
20
  * // Import shaderLab
21
- * import { ShaderLab } from "@galacean/engine-shader-lab";
21
+ * import { ShaderLab } from "@galacean/engine-shaderlab";
22
22
  * // Create engine with shaderLab
23
23
  * const engine = await WebGLEngine.create({ canvas: "canvas", shader: new ShaderLab() });
24
24
  * ...
@@ -5,6 +5,7 @@ export { CompareFunction } from "./enums/CompareFunction";
5
5
  export { CullMode } from "./enums/CullMode";
6
6
  export { RenderStateElementKey as RenderStateDataKey } from "./enums/RenderStateElementKey";
7
7
  export { RenderQueueType } from "./enums/RenderQueueType";
8
+ export { ShaderDataGroup } from "./enums/ShaderDataGroup";
8
9
  export { ShaderPropertyType } from "./enums/ShaderPropertyType";
9
10
  export { StencilOperation } from "./enums/StencilOperation";
10
11
  export { ShaderPlatformTarget } from "./enums/ShaderPlatformTarget";
@@ -17,6 +17,8 @@ export declare const ShaderLib: {
17
17
  direct_irradiance_frag_define: string;
18
18
  ibl_frag_define: string;
19
19
  pbr_frag: string;
20
+ btdf: string;
21
+ refraction: string;
20
22
  ShadowCoord: string;
21
23
  ShadowFragmentDeclaration: string;
22
24
  shadow_sample_tent: string;
@@ -5,5 +5,7 @@ declare const _default: {
5
5
  direct_irradiance_frag_define: string;
6
6
  ibl_frag_define: string;
7
7
  pbr_frag: string;
8
+ btdf: string;
9
+ refraction: string;
8
10
  };
9
11
  export default _default;
@@ -0,0 +1,11 @@
1
+ import { Engine } from "../Engine";
2
+ import { Scene } from "../Scene";
3
+ import { DisorderedArray } from "../utils/DisorderedArray";
4
+ import { IUICanvas } from "./IUICanvas";
5
+ export declare class UIUtils {
6
+ private static _renderQueue;
7
+ private static _virtualCamera;
8
+ private static _viewport;
9
+ private static _overlayCamera;
10
+ static renderOverlay(engine: Engine, scene: Scene, uiCanvases: DisorderedArray<IUICanvas>): void;
11
+ }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * High-performance unordered array, delete uses exchange method to improve performance, internal capacity only increases.
3
+ */
4
+ export declare class DisorderedArray<T> {
5
+ /** The length of the array. */
6
+ length: number;
7
+ private _loopCounter;
8
+ private _blankCount;
9
+ /**
10
+ * Get whether the array is in the loop.
11
+ */
12
+ get isLopping(): boolean;
13
+ /**
14
+ * Create a DisorderedArray.
15
+ * @param count - The initial length of the array
16
+ */
17
+ constructor(count?: number);
18
+ /**
19
+ * Add an element to disordered array.
20
+ * @param element - The element to be added
21
+ */
22
+ add(element: T): void;
23
+ /**
24
+ * Delete the specified element.
25
+ * @param element - The element to be deleted
26
+ */
27
+ delete(element: T): void;
28
+ /**
29
+ * Set the element at the specified index.
30
+ * @param index - The index of the element to be set
31
+ * @param element - The element to be set
32
+ */
33
+ set(index: number, element: T): void;
34
+ /**
35
+ * Get the element at the specified index.
36
+ * @param index - The index of the element to be get
37
+ * @returns The element at the specified index
38
+ */
39
+ get(index: number): T;
40
+ /**
41
+ * Delete the element at the specified index.
42
+ * @param index - The index of the element to be deleted
43
+ * @returns The replaced item is used to reset its index
44
+ */
45
+ deleteByIndex(index: number): T;
46
+ /**
47
+ * Loop through all elements.
48
+ * @param callbackFn - The callback function
49
+ * @param swapFn - The swap function can process the element after the callback function, it will be called after end looping(`isLopping` = true)
50
+ */
51
+ forEach(callbackFn: (element: T, index: number) => void, swapFn?: (element: T, index: number) => void): void;
52
+ /**
53
+ * Loop through all elements and clean up the blank elements.
54
+ * @param callbackFn - The callback function
55
+ * @param swapFn - The swap function can process the element after the callback function, it will be called after end looping(`isLopping` = true)
56
+ */
57
+ forEachAndClean(callbackFn: (element: T, index: number) => void, swapFn?: (element: T, index: number) => void): void;
58
+ /**
59
+ * Sort the array.
60
+ * @param compareFn - The comparison function
61
+ */
62
+ sort(compareFn: (a: T, b: T) => number): void;
63
+ /**
64
+ * Garbage collection, clean up all cached elements.
65
+ */
66
+ garbageCollection(): void;
67
+ private _startLoop;
68
+ private _endLoop;
69
+ private _endLoopAndClean;
70
+ }