@galacean/engine-core 0.0.0-experimental-1.3-xr.5 → 0.0.0-experimental-1.3-xr.10

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 (59) hide show
  1. package/dist/main.js +4393 -4108
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +4393 -4108
  4. package/dist/module.js +4355 -4075
  5. package/dist/module.js.map +1 -1
  6. package/package.json +6 -3
  7. package/types/Entity.d.ts +4 -2
  8. package/types/Renderer.d.ts +6 -1
  9. package/types/animation/Animator.d.ts +15 -2
  10. package/types/animation/AnimatorCondition.d.ts +2 -2
  11. package/types/animation/AnimatorController.d.ts +17 -17
  12. package/types/animation/AnimatorControllerParameter.d.ts +9 -5
  13. package/types/animation/AnimatorStateTransition.d.ts +2 -2
  14. package/types/animation/index.d.ts +3 -0
  15. package/types/asset/ResourceManager.d.ts +3 -1
  16. package/types/index.d.ts +1 -1
  17. package/types/lighting/Light.d.ts +4 -2
  18. package/types/mesh/SkinnedMeshRenderer.d.ts +1 -1
  19. package/types/particle/ParticleRenderer.d.ts +1 -1
  20. package/types/particle/modules/TextureSheetAnimationModule.d.ts +3 -5
  21. package/types/physics/CharacterController.d.ts +1 -0
  22. package/types/utils/DisorderedArray.d.ts +70 -0
  23. package/types/utils/SafeLoopArray.d.ts +5 -0
  24. package/types/utils/index.d.ts +1 -0
  25. package/types/2d/assembler/IAssembler.d.ts +0 -1
  26. package/types/2d/data/VertexData2D.d.ts +0 -1
  27. package/types/2d/text/CharRenderData.d.ts +0 -1
  28. package/types/2d/text/CharRenderDataPool.d.ts +0 -1
  29. package/types/DisorderedArray.d.ts +0 -27
  30. package/types/RenderPipeline/Basic2DBatcher.d.ts +0 -19
  31. package/types/RenderPipeline/ClassPool.d.ts +0 -19
  32. package/types/RenderPipeline/DynamicGeometryData.d.ts +0 -1
  33. package/types/RenderPipeline/DynamicGeometryDataManager.d.ts +0 -1
  34. package/types/RenderPipeline/IPoolElement.d.ts +0 -3
  35. package/types/RenderPipeline/RenderData.d.ts +0 -14
  36. package/types/RenderPipeline/RenderData2D.d.ts +0 -14
  37. package/types/RenderPipeline/RenderPass.d.ts +0 -55
  38. package/types/RenderPipeline/SpriteBatcher.d.ts +0 -1
  39. package/types/RenderPipeline/SpriteMaskBatcher.d.ts +0 -11
  40. package/types/RenderPipeline/SpriteMaskManager.d.ts +0 -1
  41. package/types/RenderPipeline/SpriteMaskRenderData.d.ts +0 -12
  42. package/types/RenderPipeline/SpriteRenderData.d.ts +0 -14
  43. package/types/RenderPipeline/TextRenderData.d.ts +0 -8
  44. package/types/RenderPipeline/enums/ForceUploadShaderDataFlag.d.ts +0 -15
  45. package/types/RenderPipeline/enums/RenderDataUsage.d.ts +0 -13
  46. package/types/animation/AnimatorTransition.d.ts +0 -14
  47. package/types/input/pointer/PointerEvent.d.ts +0 -4
  48. package/types/input/pointer/PointerEventType.d.ts +0 -7
  49. package/types/renderingHardwareInterface/IHardwareRenderer.d.ts +0 -6
  50. package/types/ui/Image.d.ts +0 -38
  51. package/types/ui/RedBlackTree.d.ts +0 -2
  52. package/types/ui/UICanvas.d.ts +0 -55
  53. package/types/ui/UIRenderer.d.ts +0 -14
  54. package/types/ui/UITransform.d.ts +0 -20
  55. package/types/ui/enums/BlockingObjects.d.ts +0 -6
  56. package/types/ui/enums/CanvasRenderMode.d.ts +0 -8
  57. package/types/ui/enums/ResolutionAdaptationStrategy.d.ts +0 -10
  58. package/types/ui/index.d.ts +0 -6
  59. package/types/utils/Pool.d.ts +0 -12
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@galacean/engine-core",
3
- "version": "0.0.0-experimental-1.3-xr.5",
3
+ "version": "0.0.0-experimental-1.3-xr.10",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
7
7
  },
8
+ "repository": {
9
+ "url": "https://github.com/galacean/engine.git"
10
+ },
8
11
  "license": "MIT",
9
12
  "main": "dist/main.js",
10
13
  "module": "dist/module.js",
@@ -15,10 +18,10 @@
15
18
  "types/**/*"
16
19
  ],
17
20
  "dependencies": {
18
- "@galacean/engine-math": "0.0.0-experimental-1.3-xr.5"
21
+ "@galacean/engine-math": "0.0.0-experimental-1.3-xr.10"
19
22
  },
20
23
  "devDependencies": {
21
- "@galacean/engine-design": "0.0.0-experimental-1.3-xr.5"
24
+ "@galacean/engine-design": "0.0.0-experimental-1.3-xr.10"
22
25
  },
23
26
  "scripts": {
24
27
  "b:types": "tsc"
package/types/Entity.d.ts CHANGED
@@ -58,9 +58,10 @@ export declare class Entity extends EngineObject {
58
58
  /**
59
59
  * Add component based on the component type.
60
60
  * @param type - The type of the component
61
+ * @param args - The arguments of the component
61
62
  * @returns The component which has been added
62
63
  */
63
- addComponent<T extends Component>(type: new (entity: Entity) => T): T;
64
+ addComponent<T extends new (entity: Entity, ...args: any[]) => Component>(type: T, ...args: ComponentArguments<T>): InstanceType<T>;
64
65
  /**
65
66
  * Get component which match the type.
66
67
  * @param type - The type of the component
@@ -143,7 +144,6 @@ export declare class Entity extends EngineObject {
143
144
  private _setActiveComponents;
144
145
  private _setActiveInHierarchy;
145
146
  private _setInActiveInHierarchy;
146
- private _setTransformDirty;
147
147
  private _setSiblingIndex;
148
148
  private _invModelMatrix;
149
149
  private _inverseWorldMatFlag;
@@ -152,3 +152,5 @@ export declare class Entity extends EngineObject {
152
152
  */
153
153
  getInvModelMatrix(): Matrix;
154
154
  }
155
+ type ComponentArguments<T extends new (entity: Entity, ...args: any[]) => Component> = T extends new (entity: Entity, ...args: infer P) => Component ? P : never;
156
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { BoundingBox, Matrix, Vector4 } from "@galacean/engine-math";
2
2
  import { Component } from "./Component";
3
3
  import { RenderContext } from "./RenderPipeline/RenderContext";
4
+ import { Transform } from "./Transform";
4
5
  import { IComponentCustomClone } from "./clone/ComponentCloner";
5
6
  import { Material } from "./material";
6
7
  import { ShaderData } from "./shader/ShaderData";
@@ -23,6 +24,7 @@ export declare class Renderer extends Component implements IComponentCustomClone
23
24
  protected _materials: Material[];
24
25
  protected _dirtyUpdateFlag: number;
25
26
  protected _rendererLayer: Vector4;
27
+ protected _transform: Transform;
26
28
  private _shaderData;
27
29
  private _mvMatrix;
28
30
  private _mvpMatrix;
@@ -111,7 +113,10 @@ export declare class Renderer extends Component implements IComponentCustomClone
111
113
  */
112
114
  setMaterials(materials: Material[]): void;
113
115
  update(deltaTime: number): void;
114
- protected _updateRendererShaderData(context: RenderContext): void;
116
+ /**
117
+ * Update once per frame per renderer, not influenced by batched.
118
+ */
119
+ protected _update(context: RenderContext): void;
115
120
  protected _updateWorldViewRelatedShaderData(context: RenderContext, worldMatrix: Matrix, batched: boolean): void;
116
121
  protected _updateProjectionRelatedShaderData(context: RenderContext, worldMatrix: Matrix, batched: boolean): void;
117
122
  private _setMaterial;
@@ -2,7 +2,7 @@ import { BoolUpdateFlag } from "../BoolUpdateFlag";
2
2
  import { Component } from "../Component";
3
3
  import { AnimatorController } from "./AnimatorController";
4
4
  import { AnimatorControllerLayer } from "./AnimatorControllerLayer";
5
- import { AnimatorControllerParameter } from "./AnimatorControllerParameter";
5
+ import { AnimatorControllerParameter, AnimatorControllerParameterValue } from "./AnimatorControllerParameter";
6
6
  import { AnimatorState } from "./AnimatorState";
7
7
  import { AnimatorCullingMode } from "./enums/AnimatorCullingMode";
8
8
  /**
@@ -19,6 +19,7 @@ export declare class Animator extends Component {
19
19
  private _animatorLayersData;
20
20
  private _curveOwnerPool;
21
21
  private _animationEventHandlerPool;
22
+ private _parametersValueMap;
22
23
  private _tempAnimatorStateInfo;
23
24
  private _controlledRenderers;
24
25
  /**
@@ -75,6 +76,18 @@ export declare class Animator extends Component {
75
76
  * @param name - The name of the parameter
76
77
  */
77
78
  getParameter(name: string): AnimatorControllerParameter;
79
+ /**
80
+ * Get the value of the given parameter.
81
+ * @param name - The name of the parameter
82
+ * @param value - The value of the parameter
83
+ */
84
+ getParameterValue(name: string): AnimatorControllerParameterValue;
85
+ /**
86
+ * Set the value of the given parameter.
87
+ * @param name - The name of the parameter
88
+ * @param value - The value of the parameter
89
+ */
90
+ setParameterValue(name: string, value: AnimatorControllerParameterValue): void;
78
91
  private _getAnimatorStateInfo;
79
92
  private _getAnimatorStateData;
80
93
  private _saveAnimatorStateData;
@@ -87,7 +100,6 @@ export declare class Animator extends Component {
87
100
  private _prepareSrcCrossData;
88
101
  private _prepareDestCrossData;
89
102
  private _getAnimatorLayerData;
90
- private _updateLayer;
91
103
  private _updateState;
92
104
  private _updatePlayingState;
93
105
  private _evaluatePlayingState;
@@ -115,4 +127,5 @@ export declare class Animator extends Component {
115
127
  private _callAnimatorScriptOnExit;
116
128
  private _checkAnyAndEntryState;
117
129
  private _checkRevertOwner;
130
+ private _fireAnimationEventsAndCallScripts;
118
131
  }
@@ -1,4 +1,4 @@
1
- import { AnimatorControllerParameterValueType } from "./AnimatorControllerParameter";
1
+ import { AnimatorControllerParameterValue } from "./AnimatorControllerParameter";
2
2
  import { AnimatorConditionMode } from "./enums/AnimatorConditionMode";
3
3
  /**
4
4
  * Condition that is used to determine if a transition must be taken.
@@ -9,5 +9,5 @@ export declare class AnimatorCondition {
9
9
  /** The name of the parameter used in the condition. */
10
10
  parameterName: string;
11
11
  /** The AnimatorParameter's threshold value for the condition to be true. */
12
- threshold?: AnimatorControllerParameterValueType;
12
+ threshold?: AnimatorControllerParameterValue;
13
13
  }
@@ -1,9 +1,11 @@
1
- import { AnimatorControllerParameter, AnimatorControllerParameterValueType } from "./AnimatorControllerParameter";
1
+ import { AnimatorControllerParameter, AnimatorControllerParameterValue } from "./AnimatorControllerParameter";
2
2
  import { AnimatorControllerLayer } from "./AnimatorControllerLayer";
3
+ import { ReferResource } from "../asset/ReferResource";
4
+ import { Engine } from "../Engine";
3
5
  /**
4
6
  * Store the data for Animator playback.
5
7
  */
6
- export declare class AnimatorController {
8
+ export declare class AnimatorController extends ReferResource {
7
9
  private _updateFlagManager;
8
10
  /**
9
11
  * The layers in the controller.
@@ -14,32 +16,30 @@ export declare class AnimatorController {
14
16
  */
15
17
  get parameters(): Readonly<AnimatorControllerParameter[]>;
16
18
  /**
17
- * Add a parameter to the controller.
18
- * @param name - The name of the parameter
19
- * @param value - The value of the parameter
19
+ * Create an AnimatorController.
20
+ * @param engine - Engine to which the animatorController belongs
21
+ */
22
+ constructor(engine: Engine);
23
+ /**
24
+ * @deprecated
20
25
  */
21
- addParameter(name: string, value?: AnimatorControllerParameterValueType): AnimatorControllerParameter;
26
+ constructor();
22
27
  /**
23
28
  * Add a parameter to the controller.
24
- * @param parameter - The parameter
29
+ * @param name - The name of the parameter
30
+ * @param defaultValue - The default value of the parameter
25
31
  */
26
- addParameter(parameter: AnimatorControllerParameter): AnimatorControllerParameter;
32
+ addParameter(name: string, defaultValue?: AnimatorControllerParameterValue): AnimatorControllerParameter;
27
33
  /**
28
- * Remove a parameter from the controller.
29
- * @param parameter - The parameter
34
+ * Remove a parameter from the controller by name.
35
+ * @param name - The parameter name
30
36
  */
31
- removeParameter(parameter: AnimatorControllerParameter): void;
37
+ removeParameter(name: string): void;
32
38
  /**
33
39
  * Get the parameter by name.
34
40
  * @param name - The name of the parameter
35
41
  */
36
42
  getParameter(name: string): AnimatorControllerParameter;
37
- /**
38
- * Set the value of the given parameter.
39
- * @param name - The name of the parameter
40
- * @param value - The value of the parameter
41
- */
42
- setParameterValue(name: string, value: AnimatorControllerParameterValueType): void;
43
43
  /**
44
44
  * Get the layer by name.
45
45
  * @param name - The layer's name.
@@ -1,10 +1,14 @@
1
- export type AnimatorControllerParameterValueType = number | string | boolean;
1
+ export type AnimatorControllerParameterValue = number | string | boolean;
2
2
  /**
3
3
  * Used to communicate between scripting and the controller, parameters can be set in scripting and used by the controller.
4
4
  */
5
5
  export declare class AnimatorControllerParameter {
6
- /** The name of the parameter. */
7
- name: string;
8
- /** The value of the parameter. */
9
- value: AnimatorControllerParameterValueType;
6
+ /** The default value of the parameter. */
7
+ defaultValue: AnimatorControllerParameterValue;
8
+ private _name;
9
+ /**
10
+ * The name of the parameter.
11
+ */
12
+ get name(): string;
13
+ set name(name: string);
10
14
  }
@@ -1,4 +1,4 @@
1
- import { AnimatorControllerParameterValueType } from "./AnimatorControllerParameter";
1
+ import { AnimatorControllerParameterValue } from "./AnimatorControllerParameter";
2
2
  import { AnimatorConditionMode } from "./enums/AnimatorConditionMode";
3
3
  import { AnimatorCondition } from "./AnimatorCondition";
4
4
  import { AnimatorState } from "./AnimatorState";
@@ -37,7 +37,7 @@ export declare class AnimatorStateTransition {
37
37
  * @param parameterName - The name of the parameter
38
38
  * @param threshold - The threshold value of the condition
39
39
  */
40
- addCondition(mode: AnimatorConditionMode, parameterName: string, threshold?: AnimatorControllerParameterValueType): AnimatorCondition;
40
+ addCondition(mode: AnimatorConditionMode, parameterName: string, threshold?: AnimatorControllerParameterValue): AnimatorCondition;
41
41
  /**
42
42
  * Add a condition to a transition.
43
43
  * @param animatorCondition - The condition to add
@@ -20,3 +20,6 @@ export { WrapMode } from "./enums/WrapMode";
20
20
  export * from "./Keyframe";
21
21
  export * from "./AnimatorLayerMask";
22
22
  export { StateMachineScript } from "./StateMachineScript";
23
+ export { AnimatorCondition } from "./AnimatorCondition";
24
+ export * from "./AnimatorControllerParameter";
25
+ export { LayerPathMask } from "./LayerPathMask";
@@ -102,11 +102,13 @@ export declare class ResourceManager {
102
102
  addContentRestorer<T extends EngineObject>(restorer: ContentRestorer<T>): void;
103
103
  private _assignDefaultOptions;
104
104
  private _loadSingleItem;
105
- private _pushSubAssetPromiseCallback;
105
+ private _loadMainAsset;
106
+ private _createSubAssetPromiseCallback;
106
107
  private _gc;
107
108
  private _getResolveResource;
108
109
  private _parseURL;
109
110
  private _parseQueryPath;
111
+ private _releaseSubAssetPromiseCallback;
110
112
  }
111
113
  /**
112
114
  * Declare ResourceLoader's decorator.
package/types/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { Platform } from "./Platform";
2
2
  export { Engine } from "./Engine";
3
3
  export { SystemInfo } from "./SystemInfo";
4
4
  export { Canvas } from "./Canvas";
5
+ export { DisorderedArray } from "./utils/DisorderedArray";
5
6
  export { Scene } from "./Scene";
6
7
  export { SceneManager } from "./SceneManager";
7
8
  export { Entity } from "./Entity";
@@ -19,7 +20,6 @@ export { Loader } from "./asset/Loader";
19
20
  export { ContentRestorer } from "./asset/ContentRestorer";
20
21
  export { ResourceManager, resourceLoader } from "./asset/ResourceManager";
21
22
  export { AssetPromise } from "./asset/AssetPromise";
22
- export type { IReferable } from "./asset/IReferable";
23
23
  export type { LoadItem } from "./asset/LoadItem";
24
24
  export { AssetType } from "./asset/AssetType";
25
25
  export { ReferResource } from "./asset/ReferResource";
@@ -21,11 +21,13 @@ export declare abstract class Light extends Component {
21
21
  shadowNormalBias: number;
22
22
  /** Near plane value to use for shadow frustums. */
23
23
  shadowNearPlane: number;
24
- /** Shadow intensity, the larger the value, the clearer and darker the shadow. */
25
- shadowStrength: number;
24
+ private _shadowStrength;
26
25
  private _color;
27
26
  private _viewMat;
28
27
  private _inverseViewMat;
28
+ /** Shadow intensity, the larger the value, the clearer and darker the shadow, range [0,1]. */
29
+ get shadowStrength(): number;
30
+ set shadowStrength(value: number);
29
31
  /**
30
32
  * Light Color.
31
33
  */
@@ -32,7 +32,7 @@ export declare class SkinnedMeshRenderer extends MeshRenderer {
32
32
  */
33
33
  get localBounds(): BoundingBox;
34
34
  set localBounds(value: BoundingBox);
35
- protected _updateRendererShaderData(context: RenderContext): void;
35
+ protected _update(context: RenderContext): void;
36
36
  private _checkBlendShapeWeightLength;
37
37
  private _onLocalBoundsChanged;
38
38
  private _onSkinUpdated;
@@ -41,7 +41,7 @@ export declare class ParticleRenderer extends Renderer {
41
41
  get mesh(): ModelMesh;
42
42
  set mesh(value: ModelMesh);
43
43
  protected _updateBounds(worldBounds: BoundingBox): void;
44
- protected _updateRendererShaderData(context: RenderContext): void;
44
+ protected _update(context: RenderContext): void;
45
45
  protected _render(context: RenderContext): void;
46
46
  protected _onDestroy(): void;
47
47
  }
@@ -7,12 +7,10 @@ import { ParticleGeneratorModule } from "./ParticleGeneratorModule";
7
7
  export declare class TextureSheetAnimationModule extends ParticleGeneratorModule {
8
8
  private static readonly _frameCurveMacro;
9
9
  private static readonly _frameRandomCurvesMacro;
10
- private static readonly _cycleCountProperty;
11
- private static readonly _tillingParamsProperty;
12
10
  private static readonly _frameMinCurveProperty;
13
11
  private static readonly _frameMaxCurveProperty;
14
- /** Start frame of the texture sheet. */
15
- readonly startFrame: ParticleCompositeCurve;
12
+ private static readonly _cycleCountProperty;
13
+ private static readonly _tillingParamsProperty;
16
14
  /** Frame over time curve of the texture sheet. */
17
15
  readonly frameOverTime: ParticleCompositeCurve;
18
16
  /** Texture sheet animation type. */
@@ -20,7 +18,7 @@ export declare class TextureSheetAnimationModule extends ParticleGeneratorModule
20
18
  /** Cycle count. */
21
19
  cycleCount: number;
22
20
  private _tiling;
23
- private _textureSheetMacro;
21
+ private _frameCurveMacro;
24
22
  /**
25
23
  * Tiling of the texture sheet.
26
24
  * */
@@ -47,5 +47,6 @@ export declare class CharacterController extends Collider {
47
47
  * Remove all shape attached.
48
48
  */
49
49
  clearShapes(): void;
50
+ private _syncWorldPositionFromPhysicalSpace;
50
51
  private _setUpDirection;
51
52
  }
@@ -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
+ }
@@ -22,6 +22,11 @@ export declare class SafeLoopArray<T> {
22
22
  * @param index - The index of the array
23
23
  */
24
24
  removeByIndex(index: number): void;
25
+ /**
26
+ * Remove item from array that pass the specified comparison function.
27
+ * @param filter - The comparison function
28
+ */
29
+ findAndRemove(filter: (value: T) => boolean): void;
25
30
  /**
26
31
  * The index of the item.
27
32
  * @param item - The item which want to get the index
@@ -1,3 +1,4 @@
1
1
  export { ClearableObjectPool } from "./ClearableObjectPool";
2
2
  export type { IPoolElement } from "./ObjectPool";
3
3
  export { ReturnableObjectPool } from "./ReturnableObjectPool";
4
+ export { SafeLoopArray } from "./SafeLoopArray";
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
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
- length: number;
6
- _elements: T[];
7
- private _isLooping;
8
- private _blankCount;
9
- constructor(count?: number);
10
- add(element: T): void;
11
- delete(element: T): void;
12
- set(index: number, element: T): void;
13
- get(index: number): T;
14
- /**
15
- * Delete the element at the specified index.
16
- * @param index - The index of the element to be deleted
17
- * @returns The replaced item is used to reset its index
18
- */
19
- deleteByIndex(index: number): T;
20
- forEach(callbackFn: (element: T) => void, swapFn: (element: T, index: number) => void): void;
21
- forEachAndClean(callbackFn: (e: T) => void, swapFn: (element: T, index: number) => void): void;
22
- sort(compareFn: (a: T, b: T) => number): void;
23
- garbageCollection(): void;
24
- private _startLoop;
25
- private _endLoop;
26
- private _endLoopAndClean;
27
- }
@@ -1,19 +0,0 @@
1
- import { Camera } from "../Camera";
2
- import { Engine } from "../Engine";
3
- import { ShaderTagKey } from "../shader/ShaderTagKey";
4
- import { RenderElement } from "./RenderElement";
5
- export declare abstract class Basic2DBatcher {
6
- protected static _disableBatchTag: ShaderTagKey;
7
- /** The maximum number of vertex. */
8
- static MAX_VERTEX_COUNT: number;
9
- static _canUploadSameBuffer: boolean;
10
- constructor(engine: Engine);
11
- drawElement(element: RenderElement, camera: Camera): void;
12
- flush(camera: Camera): void;
13
- clear(): void;
14
- destroy(): void;
15
- private _drawSubElement;
16
- private _createMesh;
17
- private _updateData;
18
- private _getSubMeshFromPool;
19
- }
@@ -1,19 +0,0 @@
1
- import { IPoolElement } from "./IPoolElement";
2
- /**
3
- * Class pool utils.
4
- */
5
- export declare class ClassPool<T extends IPoolElement> {
6
- private _elementPoolIndex;
7
- private _elementPool;
8
- private _type;
9
- constructor(type: new () => T);
10
- /**
11
- * Get element from pool.
12
- */
13
- getFromPool(): T;
14
- /**
15
- * Reset pool.
16
- */
17
- resetPool(): void;
18
- garbageCollection(): void;
19
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- export interface IPoolElement {
2
- dispose?(): void;
3
- }
@@ -1,14 +0,0 @@
1
- import { SubMesh } from "../graphic";
2
- import { Primitive } from "../graphic/Primitive";
3
- import { Material } from "../material";
4
- import { Renderer } from "../Renderer";
5
- import { IPoolElement } from "./IPoolElement";
6
- export declare class RenderData implements IPoolElement {
7
- component: Renderer;
8
- material: Material;
9
- primitive: Primitive;
10
- subPrimitive: SubMesh;
11
- multiRenderData: boolean;
12
- setX(component: Renderer, material: Material, primitive: Primitive, subPrimitive: SubMesh): void;
13
- dispose(): void;
14
- }
@@ -1,14 +0,0 @@
1
- import { Primitive, SubMesh } from "../graphic";
2
- import { Material } from "../material/Material";
3
- import { Renderer } from "../Renderer";
4
- import { Texture2D } from "../texture";
5
- import { IPoolElement } from "../utils/Pool";
6
- import { Chunk } from "./DynamicGeometryData";
7
- import { RenderData } from "./RenderData";
8
- export declare class RenderData2D extends RenderData implements IPoolElement {
9
- texture: Texture2D;
10
- chunk: Chunk;
11
- constructor();
12
- set(component: Renderer, material: Material, primitive: Primitive, subPrimitive: SubMesh, texture?: Texture2D, chunk?: Chunk): void;
13
- dispose(): void;
14
- }
@@ -1,55 +0,0 @@
1
- import { Color } from "@galacean/engine-math";
2
- import { Camera } from "../Camera";
3
- import { CameraClearFlags } from "../enums/CameraClearFlags";
4
- import { Layer } from "../Layer";
5
- import { Material } from "../material/Material";
6
- import { RenderTarget } from "../texture/RenderTarget";
7
- import { RenderQueue } from "./RenderQueue";
8
- /**
9
- * RenderPass.
10
- */
11
- declare class RenderPass {
12
- name: string;
13
- enabled: boolean;
14
- priority: number;
15
- renderTarget: RenderTarget;
16
- replaceMaterial: Material;
17
- mask: Layer;
18
- renderOverride: boolean;
19
- clearFlags: CameraClearFlags | undefined;
20
- clearColor: Color | undefined;
21
- /**
22
- * Create a RenderPass.
23
- * @param name - Pass name
24
- * @param priority - Priority, less than 0 before the default pass, greater than 0 after the default pass
25
- * @param renderTarget - The specified Render Target
26
- * @param replaceMaterial - Replaced material
27
- * @param mask - Perform bit and operations with Entity.Layer to filter the objects that this Pass needs to render
28
- */
29
- constructor(name?: string, priority?: number, renderTarget?: any, replaceMaterial?: any, mask?: any);
30
- /**
31
- * Rendering callback, will be executed if renderOverride is set to true.
32
- * @param camera - Camera
33
- * @param opaqueQueue - Opaque queue
34
- * @param alphaTestQueue - Alpha test queue
35
- * @param transparentQueue - Transparent queue
36
- */
37
- render(camera: Camera, opaqueQueue: RenderQueue, alphaTestQueue: RenderQueue, transparentQueue: RenderQueue): void;
38
- /**
39
- * Post rendering callback.
40
- * @param camera - Camera
41
- * @param opaqueQueue - Opaque queue
42
- * @param alphaTestQueue - Alpha test queue
43
- * @param transparentQueue - Transparent queue
44
- */
45
- preRender(camera: Camera, opaqueQueue: RenderQueue, alphaTestQueue: RenderQueue, transparentQueue: RenderQueue): void;
46
- /**
47
- * Post rendering callback.
48
- * @param camera - Camera
49
- * @param opaqueQueue - Opaque queue
50
- * @param alphaTestQueue - Alpha test queue
51
- * @param transparentQueue - Transparent queue
52
- */
53
- postRender(camera: Camera, opaqueQueue: RenderQueue, alphaTestQueue: RenderQueue, transparentQueue: RenderQueue): void;
54
- }
55
- export { RenderPass };
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +0,0 @@
1
- import { Camera } from "../Camera";
2
- import { VertexElement } from "../graphic/VertexElement";
3
- import { Basic2DBatcher } from "./Basic2DBatcher";
4
- import { RenderElement } from "./RenderElement";
5
- import { SpriteMaskRenderData } from "./SpriteMaskRenderData";
6
- export declare class SpriteMaskBatcher extends Basic2DBatcher {
7
- createVertexElements(vertexElements: VertexElement[]): number;
8
- canBatch(preElement: RenderElement, curElement: RenderElement): boolean;
9
- updateVertices(element: SpriteMaskRenderData, vertices: Float32Array, vertexIndex: number): number;
10
- drawBatches(camera: Camera): void;
11
- }
@@ -1 +0,0 @@
1
- export {};