@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.
- package/dist/main.js +18058 -16130
- package/dist/main.js.map +1 -1
- package/dist/module.js +16443 -14637
- package/dist/module.js.map +1 -1
- package/package.json +6 -3
- package/types/2d/assembler/ISpriteAssembler.d.ts +11 -1
- package/types/2d/assembler/ISpriteRenderer.d.ts +16 -0
- package/types/2d/assembler/SimpleSpriteAssembler.d.ts +13 -1
- package/types/2d/assembler/SlicedSpriteAssembler.d.ts +15 -1
- package/types/2d/assembler/TiledSpriteAssembler.d.ts +17 -1
- package/types/2d/enums/SpriteModifyFlags.d.ts +9 -0
- package/types/2d/index.d.ts +12 -5
- package/types/2d/sprite/Sprite.d.ts +2 -2
- package/types/2d/sprite/SpriteMask.d.ts +4 -2
- package/types/2d/sprite/SpriteRenderer.d.ts +5 -4
- package/types/2d/sprite/index.d.ts +1 -1
- package/types/2d/text/ITextRenderer.d.ts +8 -0
- package/types/2d/text/TextRenderer.d.ts +26 -5
- package/types/2d/text/index.d.ts +3 -1
- package/types/BasicResources.d.ts +2 -1
- package/types/Camera.d.ts +7 -3
- package/types/ComponentsManager.d.ts +4 -0
- package/types/Engine.d.ts +12 -3
- package/types/Entity.d.ts +22 -6
- package/types/RenderPipeline/BasicRenderPipeline.d.ts +4 -0
- package/types/RenderPipeline/Blitter.d.ts +28 -0
- package/types/RenderPipeline/index.d.ts +3 -1
- package/types/Renderer.d.ts +19 -2
- package/types/Scene.d.ts +4 -1
- package/types/Script.d.ts +42 -18
- package/types/Transform.d.ts +17 -7
- package/types/animation/Animator.d.ts +42 -7
- package/types/animation/AnimatorCondition.d.ts +2 -2
- package/types/animation/AnimatorController.d.ts +26 -16
- package/types/animation/AnimatorControllerParameter.d.ts +9 -5
- package/types/animation/AnimatorState.d.ts +0 -1
- package/types/animation/AnimatorStateMachine.d.ts +10 -6
- package/types/animation/AnimatorStateTransition.d.ts +13 -5
- package/types/animation/index.d.ts +3 -0
- package/types/asset/AssetPromise.d.ts +30 -5
- package/types/asset/AssetType.d.ts +8 -2
- package/types/asset/Loader.d.ts +0 -2
- package/types/asset/ResourceManager.d.ts +7 -2
- package/types/asset/request.d.ts +10 -3
- package/types/audio/AudioClip.d.ts +24 -0
- package/types/audio/AudioSource.d.ts +72 -0
- package/types/audio/index.d.ts +3 -0
- package/types/base/Constant.d.ts +22 -22
- package/types/enums/CameraModifyFlags.d.ts +17 -0
- package/types/enums/EntityModifyFlags.d.ts +9 -0
- package/types/{2d/enums → enums}/SpriteMaskLayer.d.ts +3 -1
- package/types/index.d.ts +7 -1
- package/types/input/index.d.ts +5 -2
- package/types/input/pointer/Pointer.d.ts +8 -2
- package/types/input/pointer/PointerEventData.d.ts +12 -0
- package/types/input/pointer/PointerManager.d.ts +9 -1
- package/types/input/pointer/emitter/PointerEventEmitter.d.ts +30 -0
- package/types/lighting/DirectLight.d.ts +5 -0
- package/types/lighting/Light.d.ts +8 -3
- package/types/material/BaseMaterial.d.ts +4 -2
- package/types/material/Material.d.ts +1 -0
- package/types/material/PBRMaterial.d.ts +130 -0
- package/types/material/enums/Refraction.d.ts +9 -0
- package/types/material/index.d.ts +1 -0
- package/types/material/utils/PrefilteredDFG.d.ts +7 -0
- package/types/mesh/SkinnedMeshRenderer.d.ts +1 -1
- package/types/particle/ParticleGenerator.d.ts +1 -0
- package/types/particle/ParticleRenderer.d.ts +1 -1
- package/types/particle/modules/MainModule.d.ts +1 -2
- package/types/particle/modules/TextureSheetAnimationModule.d.ts +3 -5
- package/types/physics/CharacterController.d.ts +6 -6
- package/types/physics/Collider.d.ts +3 -1
- package/types/physics/Collision.d.ts +18 -0
- package/types/physics/ContactPoint.d.ts +14 -0
- package/types/physics/DynamicCollider.d.ts +35 -4
- package/types/physics/HitResult.d.ts +1 -1
- package/types/physics/PhysicsMaterial.d.ts +5 -1
- package/types/physics/index.d.ts +2 -0
- package/types/physics/joint/FixedJoint.d.ts +1 -0
- package/types/physics/joint/HingeJoint.d.ts +11 -7
- package/types/physics/joint/Joint.d.ts +32 -10
- package/types/physics/joint/JointLimits.d.ts +34 -10
- package/types/physics/joint/JointMotor.d.ts +27 -8
- package/types/physics/joint/SpringJoint.d.ts +2 -6
- package/types/physics/shape/BoxColliderShape.d.ts +1 -0
- package/types/physics/shape/CapsuleColliderShape.d.ts +1 -0
- package/types/physics/shape/ColliderShape.d.ts +11 -3
- package/types/physics/shape/PlaneColliderShape.d.ts +2 -0
- package/types/physics/shape/SphereColliderShape.d.ts +1 -1
- package/types/postProcess/PostProcess.d.ts +64 -0
- package/types/postProcess/PostProcessEffect.d.ts +26 -0
- package/types/postProcess/PostProcessEffectParameter.d.ts +119 -0
- package/types/postProcess/PostProcessManager.d.ts +37 -1
- package/types/postProcess/PostProcessPass.d.ts +50 -0
- package/types/postProcess/PostProcessUberPass.d.ts +25 -0
- package/types/postProcess/effects/BloomEffect.d.ts +22 -66
- package/types/postProcess/effects/TonemappingEffect.d.ts +6 -16
- package/types/postProcess/index.d.ts +6 -2
- package/types/shader/Shader.d.ts +1 -1
- package/types/shader/index.d.ts +1 -0
- package/types/shaderlib/ShaderLib.d.ts +2 -0
- package/types/shaderlib/pbr/index.d.ts +2 -0
- package/types/ui/UIUtils.d.ts +11 -0
- package/types/utils/DisorderedArray.d.ts +70 -0
- package/dist/miniprogram.js +0 -34351
- package/types/DisorderedArray.d.ts +0 -27
- package/types/RenderPipeline/Basic2DBatcher.d.ts +0 -19
- package/types/RenderPipeline/ClassPool.d.ts +0 -19
- package/types/RenderPipeline/IPoolElement.d.ts +0 -3
- package/types/RenderPipeline/RenderData.d.ts +0 -14
- package/types/RenderPipeline/RenderData2D.d.ts +0 -14
- package/types/RenderPipeline/RenderPass.d.ts +0 -55
- package/types/RenderPipeline/SpriteMaskBatcher.d.ts +0 -11
- package/types/RenderPipeline/SpriteMaskManager.d.ts +0 -1
- package/types/RenderPipeline/SpriteMaskRenderData.d.ts +0 -12
- package/types/RenderPipeline/SpriteRenderData.d.ts +0 -14
- package/types/RenderPipeline/TextRenderData.d.ts +0 -8
- package/types/RenderPipeline/enums/ForceUploadShaderDataFlag.d.ts +0 -15
- package/types/RenderPipeline/enums/RenderDataUsage.d.ts +0 -13
- package/types/animation/AnimatorTransition.d.ts +0 -14
- package/types/input/pointer/PointerEvent.d.ts +0 -4
- package/types/input/pointer/PointerEventType.d.ts +0 -7
- package/types/renderingHardwareInterface/IHardwareRenderer.d.ts +0 -6
- package/types/ui/Image.d.ts +0 -38
- package/types/ui/RedBlackTree.d.ts +0 -2
- package/types/ui/UICanvas.d.ts +0 -55
- package/types/ui/UIRenderer.d.ts +0 -14
- package/types/ui/UITransform.d.ts +0 -20
- package/types/ui/enums/BlockingObjects.d.ts +0 -6
- package/types/ui/enums/CanvasRenderMode.d.ts +0 -8
- package/types/ui/enums/ResolutionAdaptationStrategy.d.ts +0 -10
- package/types/ui/index.d.ts +0 -6
- package/types/utils/Pool.d.ts +0 -12
- /package/types/{2d/assembler/IAssembler.d.ts → Polyfill.d.ts} +0 -0
- /package/types/{2d/data/VertexData2D.d.ts → RenderPipeline/enums/RenderQueueMaskType.d.ts} +0 -0
- /package/types/{2d/text/CharRenderData.d.ts → animation/AnimatorStateTransitionCollection.d.ts} +0 -0
- /package/types/{2d/text/CharRenderDataPool.d.ts → audio/AudioManager.d.ts} +0 -0
- /package/types/{RenderPipeline/DynamicGeometryData.d.ts → input/pointer/emitter/IHitResult.d.ts} +0 -0
- /package/types/{RenderPipeline/DynamicGeometryDataManager.d.ts → input/pointer/emitter/PhysicsPointerEventEmitter.d.ts} +0 -0
- /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
|
-
|
|
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 {
|
|
2
|
-
import {
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
*
|
|
24
|
+
* Specifies a Texture to add smudges or dust to the bloom effect.
|
|
46
25
|
*/
|
|
47
|
-
|
|
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
|
-
|
|
54
|
-
set threshold(value: number);
|
|
31
|
+
threshold: PostProcessEffectFloatParameter;
|
|
55
32
|
/**
|
|
56
33
|
* Controls the radius of the bloom effect.
|
|
57
34
|
*/
|
|
58
|
-
|
|
59
|
-
set scatter(value: number);
|
|
35
|
+
scatter: PostProcessEffectFloatParameter;
|
|
60
36
|
/**
|
|
61
37
|
* Controls the strength of the bloom effect.
|
|
62
38
|
*/
|
|
63
|
-
|
|
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
|
-
*
|
|
41
|
+
* Controls the strength of the lens dirt.
|
|
78
42
|
*/
|
|
79
|
-
|
|
80
|
-
set dirtTexture(value: Texture2D);
|
|
43
|
+
dirtIntensity: PostProcessEffectFloatParameter;
|
|
81
44
|
/**
|
|
82
|
-
*
|
|
45
|
+
* Specifies the tint of the bloom effect.
|
|
83
46
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
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";
|
package/types/shader/Shader.d.ts
CHANGED
|
@@ -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-
|
|
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
|
* ...
|
package/types/shader/index.d.ts
CHANGED
|
@@ -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";
|
|
@@ -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
|
+
}
|