@galacean/engine-core 0.0.0-experimental-stateMachine.0 → 0.0.0-experimental-1.3-xr.1

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 (102) hide show
  1. package/dist/main.js +18449 -16078
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +18449 -16078
  4. package/dist/module.js +18445 -16079
  5. package/dist/module.js.map +1 -1
  6. package/package.json +7 -7
  7. package/types/2d/assembler/ISpriteAssembler.d.ts +1 -0
  8. package/types/2d/sprite/SpriteMask.d.ts +11 -0
  9. package/types/2d/sprite/SpriteRenderer.d.ts +6 -3
  10. package/types/2d/text/CharRenderInfo.d.ts +1 -0
  11. package/types/2d/text/TextRenderer.d.ts +10 -4
  12. package/types/Camera.d.ts +18 -7
  13. package/types/DisorderedArray.d.ts +2 -2
  14. package/types/Engine.d.ts +3 -0
  15. package/types/Entity.d.ts +1 -1
  16. package/types/RenderPipeline/BasicRenderPipeline.d.ts +11 -5
  17. package/types/RenderPipeline/BatchUtils.d.ts +1 -0
  18. package/types/RenderPipeline/BatcherManager.d.ts +1 -0
  19. package/types/RenderPipeline/DynamicGeometryData.d.ts +1 -0
  20. package/types/RenderPipeline/DynamicGeometryDataManager.d.ts +1 -0
  21. package/types/RenderPipeline/MaskManager.d.ts +1 -0
  22. package/types/RenderPipeline/PipelinePass.d.ts +1 -1
  23. package/types/RenderPipeline/PrimitiveChunk.d.ts +1 -0
  24. package/types/RenderPipeline/PrimitiveChunkManager.d.ts +1 -0
  25. package/types/RenderPipeline/RenderData2D.d.ts +14 -0
  26. package/types/RenderPipeline/RenderElement.d.ts +9 -6
  27. package/types/RenderPipeline/RenderPass.d.ts +55 -0
  28. package/types/RenderPipeline/RenderQueue.d.ts +1 -30
  29. package/types/RenderPipeline/SubPrimitiveChunk.d.ts +1 -0
  30. package/types/RenderPipeline/SubRenderElement.d.ts +22 -0
  31. package/types/RenderPipeline/VertexArea.d.ts +1 -0
  32. package/types/RenderPipeline/enums/ForceUploadShaderDataFlag.d.ts +15 -0
  33. package/types/RenderPipeline/enums/RenderDataUsage.d.ts +13 -0
  34. package/types/RenderPipeline/index.d.ts +1 -1
  35. package/types/Renderer.d.ts +4 -3
  36. package/types/Scene.d.ts +6 -0
  37. package/types/animation/Animator.d.ts +17 -17
  38. package/types/animation/AnimatorCondition.d.ts +3 -3
  39. package/types/animation/AnimatorController.d.ts +14 -3
  40. package/types/animation/AnimatorControllerParameter.d.ts +2 -2
  41. package/types/animation/AnimatorState.d.ts +6 -9
  42. package/types/animation/AnimatorStateMachine.d.ts +6 -1
  43. package/types/animation/AnimatorStateTransition.d.ts +51 -0
  44. package/types/animation/AnimatorTransition.d.ts +0 -33
  45. package/types/animation/enums/AnimatorConditionMode.d.ts +9 -0
  46. package/types/animation/index.d.ts +1 -1
  47. package/types/asset/AssetType.d.ts +2 -0
  48. package/types/clone/ComponentCloner.d.ts +1 -1
  49. package/types/enums/ReplacementFailureStrategy.d.ts +9 -0
  50. package/types/graphic/SubMesh.d.ts +3 -16
  51. package/types/graphic/SubPrimitive.d.ts +10 -0
  52. package/types/graphic/index.d.ts +1 -0
  53. package/types/index.d.ts +4 -1
  54. package/types/input/pointer/PointerEvent.d.ts +4 -0
  55. package/types/input/pointer/PointerEventType.d.ts +7 -0
  56. package/types/material/BaseMaterial.d.ts +1 -1
  57. package/types/mesh/Skin.d.ts +25 -9
  58. package/types/mesh/SkinnedMeshRenderer.d.ts +15 -24
  59. package/types/particle/ParticleGenerator.d.ts +20 -0
  60. package/types/particle/ParticleRenderer.d.ts +3 -1
  61. package/types/particle/modules/EmissionModule.d.ts +6 -2
  62. package/types/particle/modules/MainModule.d.ts +49 -15
  63. package/types/particle/modules/ParticleCompositeCurve.d.ts +35 -10
  64. package/types/particle/modules/ParticleCurve.d.ts +16 -9
  65. package/types/particle/modules/ParticleGeneratorModule.d.ts +6 -2
  66. package/types/particle/modules/SizeOverLifetimeModule.d.ts +27 -8
  67. package/types/particle/modules/VelocityOverLifetimeModule.d.ts +29 -8
  68. package/types/particle/modules/shape/BaseShape.d.ts +14 -4
  69. package/types/particle/modules/shape/BoxShape.d.ts +7 -2
  70. package/types/particle/modules/shape/CircleShape.d.ts +25 -8
  71. package/types/particle/modules/shape/ConeShape.d.ts +24 -8
  72. package/types/particle/modules/shape/HemisphereShape.d.ts +6 -2
  73. package/types/particle/modules/shape/SphereShape.d.ts +6 -2
  74. package/types/postProcess/PostProcessManager.d.ts +1 -0
  75. package/types/postProcess/effects/BloomEffect.d.ts +94 -0
  76. package/types/postProcess/effects/TonemappingEffect.d.ts +35 -0
  77. package/types/postProcess/effects/index.d.ts +2 -0
  78. package/types/postProcess/index.d.ts +3 -0
  79. package/types/renderingHardwareInterface/IHardwareRenderer.d.ts +6 -0
  80. package/types/shader/ShaderPass.d.ts +10 -0
  81. package/types/shader/enums/ShaderDataGroup.d.ts +4 -2
  82. package/types/shader/enums/ShaderPlatformTarget.d.ts +4 -0
  83. package/types/shader/enums/ShaderType.d.ts +1 -0
  84. package/types/shader/index.d.ts +1 -0
  85. package/types/shader/state/RenderState.d.ts +1 -0
  86. package/types/shaderlib/ShaderFactory.d.ts +2 -1
  87. package/types/texture/enums/TextureFormat.d.ts +2 -0
  88. package/types/ui/Image.d.ts +38 -0
  89. package/types/ui/RedBlackTree.d.ts +2 -0
  90. package/types/ui/UICanvas.d.ts +55 -0
  91. package/types/ui/UIRenderer.d.ts +14 -0
  92. package/types/ui/UITransform.d.ts +20 -0
  93. package/types/ui/enums/BlockingObjects.d.ts +6 -0
  94. package/types/ui/enums/CanvasRenderMode.d.ts +8 -0
  95. package/types/ui/enums/ResolutionAdaptationStrategy.d.ts +10 -0
  96. package/types/ui/index.d.ts +6 -0
  97. package/types/utils/ClearableObjectPool.d.ts +16 -0
  98. package/types/utils/ObjectPool.d.ts +16 -0
  99. package/types/utils/Pool.d.ts +12 -0
  100. package/types/utils/ReturnableObjectPool.d.ts +16 -0
  101. package/types/utils/index.d.ts +3 -0
  102. package/LICENSE +0 -21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-core",
3
- "version": "0.0.0-experimental-stateMachine.0",
3
+ "version": "0.0.0-experimental-1.3-xr.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -10,17 +10,17 @@
10
10
  "module": "dist/module.js",
11
11
  "types": "types/index.d.ts",
12
12
  "debug": "src/index.ts",
13
+ "scripts": {
14
+ "b:types": "tsc"
15
+ },
13
16
  "files": [
14
17
  "dist/**/*",
15
18
  "types/**/*"
16
19
  ],
17
20
  "dependencies": {
18
- "@galacean/engine-math": "0.0.0-experimental-stateMachine.0"
21
+ "@galacean/engine-math": "workspace:*"
19
22
  },
20
23
  "devDependencies": {
21
- "@galacean/engine-design": "0.0.0-experimental-stateMachine.0"
22
- },
23
- "scripts": {
24
- "b:types": "tsc"
24
+ "@galacean/engine-design": "workspace:*"
25
25
  }
26
- }
26
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,5 @@
1
+ import { BoundingBox } from "@galacean/engine-math";
2
+ import { RenderContext } from "../../RenderPipeline/RenderContext";
1
3
  import { Renderer } from "../../Renderer";
2
4
  import { Sprite } from "./Sprite";
3
5
  /**
@@ -52,6 +54,15 @@ export declare class SpriteMask extends Renderer {
52
54
  */
53
55
  get alphaCutoff(): number;
54
56
  set alphaCutoff(value: number);
57
+ protected _updateBounds(worldBounds: BoundingBox): void;
58
+ /**
59
+ * @inheritdoc
60
+ */
61
+ protected _render(context: RenderContext): void;
62
+ /**
63
+ * @inheritdoc
64
+ */
65
+ protected _onDestroy(): void;
55
66
  private _calDefaultSize;
56
67
  private _onSpriteChange;
57
68
  }
@@ -1,4 +1,5 @@
1
- import { Color } from "@galacean/engine-math";
1
+ import { BoundingBox, Color } from "@galacean/engine-math";
2
+ import { RenderContext } from "../../RenderPipeline/RenderContext";
2
3
  import { Renderer } from "../../Renderer";
3
4
  import { SpriteDrawMode } from "../enums/SpriteDrawMode";
4
5
  import { SpriteMaskInteraction } from "../enums/SpriteMaskInteraction";
@@ -20,8 +21,6 @@ export declare class SpriteRenderer extends Renderer {
20
21
  private _customHeight;
21
22
  private _flipX;
22
23
  private _flipY;
23
- private _maskLayer;
24
- private _maskInteraction;
25
24
  /**
26
25
  * The draw mode of the sprite renderer.
27
26
  */
@@ -85,7 +84,11 @@ export declare class SpriteRenderer extends Renderer {
85
84
  */
86
85
  get maskInteraction(): SpriteMaskInteraction;
87
86
  set maskInteraction(value: SpriteMaskInteraction);
87
+ protected _updateBounds(worldBounds: BoundingBox): void;
88
+ protected _render(context: RenderContext): void;
89
+ protected _onDestroy(): void;
88
90
  private _calDefaultSize;
89
91
  private _updateStencilState;
90
92
  private _onSpriteChange;
93
+ private _onColorChanged;
91
94
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,6 @@
1
1
  import { BoundingBox, Color } from "@galacean/engine-math";
2
2
  import { Entity } from "../../Entity";
3
+ import { RenderContext } from "../../RenderPipeline/RenderContext";
3
4
  import { Renderer } from "../../Renderer";
4
5
  import { FontStyle } from "../enums/FontStyle";
5
6
  import { SpriteMaskInteraction } from "../enums/SpriteMaskInteraction";
@@ -10,10 +11,11 @@ import { Font } from "./Font";
10
11
  * Renders a text for 2D graphics.
11
12
  */
12
13
  export declare class TextRenderer extends Renderer {
13
- private static _charRenderDataPool;
14
+ private static _textureProperty;
14
15
  private static _tempVec30;
15
16
  private static _tempVec31;
16
- _dirtyFlag: number;
17
+ private static _worldPositions;
18
+ private static _charRenderInfos;
17
19
  private _color;
18
20
  private _text;
19
21
  private _width;
@@ -27,8 +29,6 @@ export declare class TextRenderer extends Renderer {
27
29
  private _verticalAlignment;
28
30
  private _enableWrapping;
29
31
  private _overflowMode;
30
- private _maskInteraction;
31
- private _maskLayer;
32
32
  /**
33
33
  * Rendering color for the Text.
34
34
  */
@@ -104,9 +104,15 @@ export declare class TextRenderer extends Renderer {
104
104
  */
105
105
  get bounds(): BoundingBox;
106
106
  constructor(entity: Entity);
107
+ protected _updateBounds(worldBounds: BoundingBox): void;
108
+ protected _render(context: RenderContext): void;
107
109
  private _updateStencilState;
108
110
  private _resetSubFont;
109
111
  private _updatePosition;
112
+ private _updateColor;
110
113
  private _updateLocalData;
111
114
  private _isTextNoVisible;
115
+ private _buildChunk;
116
+ private _freeTextChunks;
117
+ private _onColorChanged;
112
118
  }
package/types/Camera.d.ts CHANGED
@@ -5,6 +5,7 @@ import { CameraClearFlags } from "./enums/CameraClearFlags";
5
5
  import { DepthTextureMode } from "./enums/DepthTextureMode";
6
6
  import { Downsampling } from "./enums/Downsampling";
7
7
  import { MSAASamples } from "./enums/MSAASamples";
8
+ import { ReplacementFailureStrategy } from "./enums/ReplacementFailureStrategy";
8
9
  import { Shader } from "./shader/Shader";
9
10
  import { ShaderData } from "./shader/ShaderData";
10
11
  import { ShaderTagKey } from "./shader/ShaderTagKey";
@@ -64,6 +65,8 @@ export declare class Camera extends Component {
64
65
  private _renderTarget;
65
66
  private _depthBufferParams;
66
67
  private _opaqueTextureEnabled;
68
+ private _enableHDR;
69
+ private _enablePostProcess;
67
70
  private _frustumChangeFlag;
68
71
  private _transform;
69
72
  private _isViewMatrixDirty;
@@ -77,7 +80,6 @@ export declare class Camera extends Component {
77
80
  * If enabled, the opaque texture can be accessed in the shader using `camera_OpaqueTexture`.
78
81
  *
79
82
  * @defaultValue `false`
80
- *
81
83
  * @remarks If enabled, the `independentCanvasEnabled` property will be forced to be true.
82
84
  */
83
85
  get opaqueTextureEnabled(): boolean;
@@ -153,10 +155,18 @@ export declare class Camera extends Component {
153
155
  set projectionMatrix(value: Matrix);
154
156
  /**
155
157
  * Whether to enable HDR.
156
- * @todo When render pipeline modification
158
+ * @defaultValue `false`
159
+ * @remarks If enabled, the `independentCanvasEnabled` property will be forced to be true.
157
160
  */
158
161
  get enableHDR(): boolean;
159
162
  set enableHDR(value: boolean);
163
+ /**
164
+ * Whether to enable post process.
165
+ * @defaultValue `false`
166
+ * @remarks If enabled, the `independentCanvasEnabled` property will be forced to be true.
167
+ */
168
+ get enablePostProcess(): boolean;
169
+ set enablePostProcess(value: boolean);
160
170
  /**
161
171
  * RenderTarget. After setting, it will be rendered to the renderTarget. If it is empty, it will be rendered to the main canvas.
162
172
  */
@@ -245,22 +255,24 @@ export declare class Camera extends Component {
245
255
  * Set the replacement shader.
246
256
  * @param shader - Replacement shader
247
257
  * @param replacementTagName - Sub shader tag name
258
+ * @param failureStrategy - Replacement failure strategy, @defaultValue `ReplacementFailureStrategy.KeepOriginalShader`
248
259
  *
249
260
  * @remarks
250
261
  * If replacementTagName is not specified, the first sub shader will be replaced.
251
- * If replacementTagName is specified, the replacement shader will find the first sub shader which has the same tag value get by replacementTagKey.
262
+ * If replacementTagName is specified, the replacement shader will find the first sub shader which has the same tag value get by replacementTagKey. If failed to find the sub shader, the strategy will be determined by failureStrategy.
252
263
  */
253
- setReplacementShader(shader: Shader, replacementTagName?: string): any;
264
+ setReplacementShader(shader: Shader, replacementTagName?: string, failureStrategy?: ReplacementFailureStrategy): any;
254
265
  /**
255
266
  * Set the replacement shader.
256
267
  * @param shader - Replacement shader
257
268
  * @param replacementTag - Sub shader tag
269
+ * @param failureStrategy - Replacement failure strategy, @defaultValue `ReplacementFailureStrategy.KeepOriginalShader`
258
270
  *
259
271
  * @remarks
260
272
  * If replacementTag is not specified, the first sub shader will be replaced.
261
- * If replacementTag is specified, the replacement shader will find the first sub shader which has the same tag value get by replacementTagKey.
273
+ * If replacementTag is specified, the replacement shader will find the first sub shader which has the same tag value get by replacementTagKey. If failed to find the sub shader, the strategy will be determined by failureStrategy.
262
274
  */
263
- setReplacementShader(shader: Shader, replacementTag?: ShaderTagKey): any;
275
+ setReplacementShader(shader: Shader, replacementTag?: ShaderTagKey, failureStrategy?: ReplacementFailureStrategy): any;
264
276
  /**
265
277
  * Reset and clear the replacement shader.
266
278
  */
@@ -286,7 +298,6 @@ export declare class Camera extends Component {
286
298
  * The inverse of the projection matrix.
287
299
  */
288
300
  private _getInverseProjectionMatrix;
289
- private _forceUseInternalCanvas;
290
301
  private _onPixelViewportChanged;
291
302
  private _checkMainCanvasAntialiasWaste;
292
303
  }
@@ -18,10 +18,10 @@ export declare class DisorderedArray<T> {
18
18
  */
19
19
  deleteByIndex(index: number): T;
20
20
  forEach(callbackFn: (element: T) => void, swapFn: (element: T, index: number) => void): void;
21
- forEachAndClean(callbackFn: (e: T) => void): void;
21
+ forEachAndClean(callbackFn: (e: T) => void, swapFn: (element: T, index: number) => void): void;
22
22
  sort(compareFn: (a: T, b: T) => number): void;
23
23
  garbageCollection(): void;
24
24
  private _startLoop;
25
25
  private _endLoop;
26
- private _endLoopAndClear;
26
+ private _endLoopAndClean;
27
27
  }
package/types/Engine.d.ts CHANGED
@@ -7,6 +7,7 @@ import { ResourceManager } from "./asset/ResourceManager";
7
7
  import { EventDispatcher, Time } from "./base";
8
8
  import { ColorSpace } from "./enums/ColorSpace";
9
9
  import { InputManager } from "./input";
10
+ import { ParticleBufferUtils } from "./particle/ParticleBufferUtils";
10
11
  import { PhysicsScene } from "./physics/PhysicsScene";
11
12
  import { XRManager } from "./xr/XRManager";
12
13
  /**
@@ -17,6 +18,7 @@ export declare class Engine extends EventDispatcher {
17
18
  readonly inputManager: InputManager;
18
19
  /** XR manager of Engine. */
19
20
  readonly xrManager: XRManager;
21
+ _particleBufferUtils: ParticleBufferUtils;
20
22
  private _settings;
21
23
  private _resourceManager;
22
24
  private _sceneManager;
@@ -117,6 +119,7 @@ export declare class Engine extends EventDispatcher {
117
119
  destroy(): void;
118
120
  private _createSpriteMaterial;
119
121
  private _createSpriteMaskMaterial;
122
+ private _createTextMaterial;
120
123
  private _onDeviceLost;
121
124
  private _onDeviceRestored;
122
125
  private _gc;
package/types/Entity.d.ts CHANGED
@@ -127,7 +127,7 @@ export declare class Entity extends EngineObject {
127
127
  */
128
128
  clearChildren(): void;
129
129
  /**
130
- * Clone.
130
+ * Clone this entity include children and components.
131
131
  * @returns Cloned entity
132
132
  */
133
133
  clone(): Entity;
@@ -2,7 +2,7 @@ import { Camera } from "../Camera";
2
2
  import { CameraClearFlags } from "../enums/CameraClearFlags";
3
3
  import { TextureCubeFace } from "../texture";
4
4
  import { RenderContext } from "./RenderContext";
5
- import { RenderData } from "./RenderData";
5
+ import { RenderElement } from "./RenderElement";
6
6
  /**
7
7
  * Basic render pipeline.
8
8
  */
@@ -34,11 +34,17 @@ export declare class BasicRenderPipeline {
34
34
  /**
35
35
  * Push render data to render queue.
36
36
  * @param context - Render context
37
- * @param data - Render data
37
+ * @param renderElement - Render element
38
38
  */
39
- pushRenderData(context: RenderContext, data: RenderData): void;
40
- private pushRenderDataWithShader;
39
+ pushRenderElement(context: RenderContext, renderElement: RenderElement): void;
40
+ private pushRenderElementByType;
41
41
  private _drawBackgroundTexture;
42
42
  private _prepareRender;
43
- private _updateMVPShaderData;
43
+ }
44
+ export declare enum RenderQueueFlags {
45
+ None = 0,
46
+ Opaque = 1,
47
+ AlphaTest = 2,
48
+ Transparent = 4,
49
+ All = 7
44
50
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -5,7 +5,7 @@ import { RenderContext } from "../RenderPipeline/RenderContext";
5
5
  * PipelinePass is a base class for all pipeline passes.
6
6
  */
7
7
  export declare abstract class PipelinePass {
8
- protected _engine: Engine;
8
+ readonly engine: Engine;
9
9
  constructor(engine: Engine);
10
10
  /**
11
11
  * Called before rendering a camera, override this method to configure the camera If you need to configure the camera clear flag or render target.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
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,9 +1,12 @@
1
- import { ShaderPass } from "../shader/ShaderPass";
2
- import { IPoolElement } from "./IPoolElement";
3
- import { RenderData } from "./RenderData";
1
+ import { IPoolElement } from "../utils/ObjectPool";
2
+ import { RenderQueueFlags } from "./BasicRenderPipeline";
3
+ import { SubRenderElement } from "./SubRenderElement";
4
4
  export declare class RenderElement implements IPoolElement {
5
- data: RenderData;
6
- shaderPasses: ReadonlyArray<ShaderPass>;
7
- set(data: RenderData, shaderPasses: ReadonlyArray<ShaderPass>): void;
5
+ priority: number;
6
+ distanceForSort: number;
7
+ subRenderElements: SubRenderElement[];
8
+ renderQueueFlags: RenderQueueFlags;
9
+ set(priority: number, distanceForSort: number): void;
10
+ addSubRenderElement(element: SubRenderElement): void;
8
11
  dispose(): void;
9
12
  }
@@ -0,0 +1,55 @@
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,30 +1 @@
1
- import { Camera } from "../Camera";
2
- import { Engine } from "../Engine";
3
- import { RenderQueueType } from "../shader";
4
- import { RenderElement } from "./RenderElement";
5
- /**
6
- * Render queue.
7
- */
8
- export declare class RenderQueue {
9
- readonly elements: RenderElement[];
10
- private _spriteBatcher;
11
- private readonly _renderQueueType;
12
- constructor(engine: Engine, renderQueueType: RenderQueueType);
13
- /**
14
- * Push a render element.
15
- */
16
- pushRenderElement(element: RenderElement): void;
17
- render(camera: Camera, pipelineStageTagValue: string): void;
18
- /**
19
- * Clear collection.
20
- */
21
- clear(): void;
22
- /**
23
- * Destroy internal resources.
24
- */
25
- destroy(): void;
26
- /**
27
- * Sort the elements.
28
- */
29
- sort(compareFunc: Function): void;
30
- }
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import { Renderer } from "../Renderer";
2
+ import { Primitive, SubMesh } from "../graphic";
3
+ import { Material } from "../material";
4
+ import { ShaderData, ShaderPass } from "../shader";
5
+ import { Texture2D } from "../texture";
6
+ import { IPoolElement } from "../utils/ObjectPool";
7
+ import { RenderQueueFlags } from "./BasicRenderPipeline";
8
+ import { SubPrimitiveChunk } from "./SubPrimitiveChunk";
9
+ export declare class SubRenderElement implements IPoolElement {
10
+ component: Renderer;
11
+ primitive: Primitive;
12
+ material: Material;
13
+ subPrimitive: SubMesh;
14
+ shaderPasses: ReadonlyArray<ShaderPass>;
15
+ shaderData?: ShaderData;
16
+ batched: boolean;
17
+ renderQueueFlags: RenderQueueFlags;
18
+ texture?: Texture2D;
19
+ subChunk?: SubPrimitiveChunk;
20
+ set(component: Renderer, material: Material, primitive: Primitive, subPrimitive: SubMesh, texture?: Texture2D, subChunk?: SubPrimitiveChunk): void;
21
+ dispose(): void;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Force upload shader data flag.
3
+ */
4
+ export declare enum ForceUploadShaderDataFlag {
5
+ /** Upload nothing. */
6
+ None = 0,
7
+ /** Upload scene shader data. */
8
+ Scene = 1,
9
+ /** Upload camera shader data. */
10
+ Camera = 2,
11
+ /** Upload renderer shader data. */
12
+ Renderer = 4,
13
+ /** Upload material shader data. */
14
+ Material = 8
15
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * RenderData usage.
3
+ */
4
+ export declare enum RenderDataUsage {
5
+ /** Usage for mesh. */
6
+ Mesh = 0,
7
+ /** Usage for sprite. */
8
+ Sprite = 1,
9
+ /** Usage for sprite mask. */
10
+ SpriteMask = 2,
11
+ /** Usage for text. */
12
+ Text = 3
13
+ }
@@ -1,3 +1,3 @@
1
1
  export { BasicRenderPipeline } from "./BasicRenderPipeline";
2
- export { PipelineStage } from "./enums/PipelineStage";
3
2
  export { RenderQueue } from "./RenderQueue";
3
+ export { PipelineStage } from "./enums/PipelineStage";
@@ -22,6 +22,7 @@ export declare class Renderer extends Component implements IComponentCustomClone
22
22
  protected _overrideUpdate: boolean;
23
23
  protected _materials: Material[];
24
24
  protected _dirtyUpdateFlag: number;
25
+ protected _rendererLayer: Vector4;
25
26
  private _shaderData;
26
27
  private _mvMatrix;
27
28
  private _mvpMatrix;
@@ -30,7 +31,6 @@ export declare class Renderer extends Component implements IComponentCustomClone
30
31
  private _materialsInstanced;
31
32
  private _priority;
32
33
  private _receiveShadows;
33
- protected _rendererLayer: Vector4;
34
34
  /**
35
35
  * ShaderData related to renderer.
36
36
  */
@@ -111,7 +111,8 @@ export declare class Renderer extends Component implements IComponentCustomClone
111
111
  */
112
112
  setMaterials(materials: Material[]): void;
113
113
  update(deltaTime: number): void;
114
- protected _updateTransformShaderData(context: RenderContext, worldMatrix: Matrix): void;
115
- protected _updateMVPShaderData(context: RenderContext, worldMatrix: Matrix): void;
114
+ protected _updateRendererShaderData(context: RenderContext): void;
115
+ protected _updateWorldViewRelatedShaderData(context: RenderContext, worldMatrix: Matrix, batched: boolean): void;
116
+ protected _updateProjectionRelatedShaderData(context: RenderContext, worldMatrix: Matrix, batched: boolean): void;
116
117
  private _setMaterial;
117
118
  }
package/types/Scene.d.ts CHANGED
@@ -47,6 +47,7 @@ export declare class Scene extends EngineObject {
47
47
  private _fogParams;
48
48
  private _isActive;
49
49
  private _sun;
50
+ private _enableTransparentShadow;
50
51
  /**
51
52
  * Whether the scene is active.
52
53
  */
@@ -114,6 +115,11 @@ export declare class Scene extends EngineObject {
114
115
  */
115
116
  get sun(): DirectLight | null;
116
117
  set sun(light: DirectLight | null);
118
+ /**
119
+ * Whether to enable transparent shadow.
120
+ */
121
+ get enableTransparentShadow(): boolean;
122
+ set enableTransparentShadow(value: boolean);
117
123
  /**
118
124
  * Create scene.
119
125
  * @param engine - Engine
@@ -1,11 +1,10 @@
1
1
  import { BoolUpdateFlag } from "../BoolUpdateFlag";
2
2
  import { Component } from "../Component";
3
3
  import { AnimatorController } from "./AnimatorController";
4
+ import { AnimatorControllerLayer } from "./AnimatorControllerLayer";
5
+ import { AnimatorControllerParameter } from "./AnimatorControllerParameter";
4
6
  import { AnimatorState } from "./AnimatorState";
5
- import { AnimatorStateTransition } from "./AnimatorTransition";
6
7
  import { AnimatorCullingMode } from "./enums/AnimatorCullingMode";
7
- import { AnimatorControllerLayer } from "./AnimatorControllerLayer";
8
- import { AnimatorControllerParameter, AnimatorControllerParameterValue } from "./AnimatorControllerParameter";
9
8
  /**
10
9
  * The controller of the animation system.
11
10
  */
@@ -50,7 +49,6 @@ export declare class Animator extends Component {
50
49
  * @param normalizedTimeOffset - The time offset between 0 and 1(default 0)
51
50
  */
52
51
  crossFade(stateName: string, normalizedTransitionDuration: number, layerIndex?: number, normalizedTimeOffset?: number): void;
53
- crossFade(transition: AnimatorStateTransition, layerIndex?: number): void;
54
52
  /**
55
53
  * Evaluates the animator component based on deltaTime.
56
54
  * @param deltaTime - The deltaTime when the animation update
@@ -73,15 +71,10 @@ export declare class Animator extends Component {
73
71
  */
74
72
  findLayerByName(name: string): AnimatorControllerLayer;
75
73
  /**
76
- * Get the parameter by name.
74
+ * Get the parameter by name from animatorController.
77
75
  * @param name - The name of the parameter
78
76
  */
79
77
  getParameter(name: string): AnimatorControllerParameter;
80
- /**
81
- * Set the value of the given parameter.
82
- * @param name - The name of the parameter
83
- */
84
- setParameter(name: string, value: AnimatorControllerParameterValue): void;
85
78
  private _getAnimatorStateInfo;
86
79
  private _getAnimatorStateData;
87
80
  private _saveAnimatorStateData;
@@ -95,24 +88,31 @@ export declare class Animator extends Component {
95
88
  private _prepareDestCrossData;
96
89
  private _getAnimatorLayerData;
97
90
  private _updateLayer;
91
+ private _updateState;
98
92
  private _updatePlayingState;
99
- private _updateCrossFade;
100
- private _updateCrossFadeFromPose;
93
+ private _evaluatePlayingState;
94
+ private _updateCrossFadeState;
95
+ private _evaluateCrossFadeState;
96
+ private _updateCrossFadeFromPoseState;
97
+ private _evaluateCrossFadeFromPoseState;
101
98
  private _updateFinishedState;
99
+ private _evaluateFinishedState;
102
100
  private _updateCrossFadeData;
103
- private _preparePlay;
104
- private _checkTransition;
101
+ private _preparePlayOwner;
102
+ private _applyStateTransitions;
105
103
  private _checkSubTransition;
106
104
  private _checkBackwardsSubTransition;
107
- _applyTransition(transition: AnimatorStateTransition, layerIndex: number): void;
105
+ private _applyTransitionsByCondition;
106
+ private _preparePlay;
107
+ private _applyTransition;
108
108
  private _checkConditions;
109
- private _crossFadeByTransition;
109
+ private _prepareCrossFadeByTransition;
110
110
  private _fireAnimationEvents;
111
111
  private _fireSubAnimationEvents;
112
112
  private _fireBackwardSubAnimationEvents;
113
113
  private _callAnimatorScriptOnEnter;
114
114
  private _callAnimatorScriptOnUpdate;
115
115
  private _callAnimatorScriptOnExit;
116
- private _checkEntryState;
116
+ private _checkAnyAndEntryState;
117
117
  private _checkRevertOwner;
118
118
  }