@galacean/effects-core 2.4.0-alpha.0 → 2.4.0-beta.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.
@@ -1,38 +1,23 @@
1
1
  import { Color } from '@galacean/effects-math/es/core/color';
2
2
  import * as spec from '@galacean/effects-specification';
3
3
  import type { Engine } from '../engine';
4
- import type { Maskable, MaterialProps } from '../material';
5
- import { MaskMode, Material, MaskProcessor } from '../material';
4
+ import type { Maskable } from '../material';
5
+ import { MaskMode, MaskProcessor } from '../material';
6
6
  import type { BoundingBoxTriangle, HitTestTriangleParams } from '../plugins';
7
- import type { GeometryDrawMode, Renderer } from '../render';
7
+ import { MeshCollider } from '../plugins';
8
+ import type { Renderer } from '../render';
8
9
  import { Geometry } from '../render';
9
- import type { GeometryFromShape } from '../shape';
10
+ import { type GeometryFromShape } from '../shape';
10
11
  import { Texture } from '../texture';
11
12
  import { RendererComponent } from './renderer-component';
12
13
  /**
13
14
  * 图层元素渲染属性, 经过处理后的 spec.SpriteContent.renderer
14
15
  */
15
16
  export interface ItemRenderer extends Required<Omit<spec.RendererOptions, 'texture' | 'shape' | 'anchor' | 'particleOrigin' | 'mask'>> {
16
- order: number;
17
17
  texture: Texture;
18
18
  mask: number;
19
19
  maskMode: MaskMode;
20
20
  shape?: GeometryFromShape;
21
- anchor?: spec.vec2;
22
- particleOrigin?: spec.ParticleOrigin;
23
- }
24
- /**
25
- * 图层的渲染属性,用于 Mesh 的合并判断
26
- */
27
- export interface ItemRenderInfo {
28
- side: number;
29
- occlusion: boolean;
30
- blending: number;
31
- cachePrefix: string;
32
- mask: number;
33
- maskMode: number;
34
- cacheId: string;
35
- wireframe?: boolean;
36
21
  }
37
22
  /**
38
23
  * @since 2.1.0
@@ -45,10 +30,12 @@ export declare class BaseRenderComponent extends RendererComponent implements Ma
45
30
  color: Color;
46
31
  geometry: Geometry;
47
32
  readonly maskManager: MaskProcessor;
48
- protected renderInfo: ItemRenderInfo;
49
33
  protected preMultiAlpha: number;
50
34
  protected visible: boolean;
51
- protected frameAnimationTime: number;
35
+ /**
36
+ * 用于点击测试的碰撞器
37
+ */
38
+ protected meshCollider: MeshCollider;
52
39
  /**
53
40
  *
54
41
  * @param engine
@@ -57,10 +44,12 @@ export declare class BaseRenderComponent extends RendererComponent implements Ma
57
44
  /**
58
45
  * 设置当前 Mesh 的可见性。
59
46
  * @param visible - true:可见,false:不可见
47
+ * @deprecated 2.4.0 Please use enabled instead
60
48
  */
61
49
  setVisible(visible: boolean): void;
62
50
  /**
63
51
  * 获取当前 Mesh 的可见性。
52
+ * @deprecated 2.4.0 Please use enabled instead
64
53
  */
65
54
  getVisible(): boolean;
66
55
  /**
@@ -91,21 +80,13 @@ export declare class BaseRenderComponent extends RendererComponent implements Ma
91
80
  setTexture(input: string): Promise<void>;
92
81
  render(renderer: Renderer): void;
93
82
  onStart(): void;
94
- onDestroy(): void;
95
- protected setItem(): void;
96
- protected getItemGeometryData(): {
83
+ getHitTestParams: (force?: boolean) => HitTestTriangleParams | undefined;
84
+ getBoundingBox(): BoundingBoxTriangle;
85
+ protected getItemGeometryData(geometry: Geometry): {
97
86
  index: number[];
98
87
  atlasOffset: number[];
99
88
  };
100
- protected createGeometry(mode: GeometryDrawMode): Geometry;
101
- protected getMaterialProps(renderInfo: ItemRenderInfo, count: number): MaterialProps;
102
- protected createMaterial(renderInfo: ItemRenderInfo, count: number): Material;
103
- getTextures(): Texture[];
104
- /**
105
- * 获取图层包围盒的类型和世界坐标
106
- * @returns
107
- */
108
- getBoundingBox(): BoundingBoxTriangle | void;
109
- getHitTestParams: (force?: boolean) => HitTestTriangleParams | undefined;
89
+ protected createGeometry(): Geometry;
90
+ private configureMaterial;
91
+ fromData(data: unknown): void;
110
92
  }
111
- export declare function getImageItemRenderInfo(item: BaseRenderComponent): ItemRenderInfo;
@@ -1,8 +1,6 @@
1
1
  import * as spec from '@galacean/effects-specification';
2
2
  import type { Engine } from '../engine';
3
- import type { Maskable } from '../material';
4
- import { MaskProcessor } from '../material';
5
- import { MeshComponent } from './mesh-component';
3
+ import { BaseRenderComponent } from './base-render-component';
6
4
  interface ShapeAttribute {
7
5
  /**
8
6
  * 矢量图形类型
@@ -92,7 +90,7 @@ export interface PolygonAttribute extends ShapeAttribute {
92
90
  * 图形组件
93
91
  * @since 2.1.0
94
92
  */
95
- export declare class ShapeComponent extends MeshComponent implements Maskable {
93
+ export declare class ShapeComponent extends BaseRenderComponent {
96
94
  private hasStroke;
97
95
  private hasFill;
98
96
  private shapeDirty;
@@ -102,7 +100,6 @@ export declare class ShapeComponent extends MeshComponent implements Maskable {
102
100
  private shapeAttribute;
103
101
  private vert;
104
102
  private frag;
105
- readonly maskManager: MaskProcessor;
106
103
  get shape(): ShapeAttribute;
107
104
  /**
108
105
  *
@@ -3,12 +3,11 @@ import type { Ray } from '@galacean/effects-math/es/core/ray';
3
3
  import type { Matrix4 } from '@galacean/effects-math/es/core/matrix4';
4
4
  import { Camera } from './camera';
5
5
  import { CompositionComponent } from './comp-vfx-item';
6
- import { CompositionSourceManager } from './composition-source-manager';
7
6
  import type { PluginSystem } from './plugin-system';
8
7
  import type { EventSystem, Plugin, Region } from './plugins';
9
8
  import type { MeshRendererOptions, Renderer } from './render';
10
9
  import { RenderFrame } from './render';
11
- import type { Scene } from './scene';
10
+ import type { Scene, SceneRenderLevel } from './scene';
12
11
  import type { Texture } from './texture';
13
12
  import type { Disposable, LostHandler } from './utils';
14
13
  import { VFXItem } from './vfx-item';
@@ -16,6 +15,7 @@ import type { CompositionEvent } from './events';
16
15
  import { EventEmitter } from './events';
17
16
  import type { PostProcessVolume } from './components';
18
17
  import { SceneTicking } from './composition/scene-ticking';
18
+ import type { Engine } from './engine';
19
19
  /**
20
20
  * 合成统计信息
21
21
  */
@@ -160,7 +160,6 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
160
160
  * 合成是否结束
161
161
  */
162
162
  isEnded: boolean;
163
- compositionSourceManager: CompositionSourceManager;
164
163
  /**
165
164
  * 合成id
166
165
  */
@@ -181,10 +180,6 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
181
180
  * 插件系统,保存当前加载的插件对象,负责插件事件和创建插件的 Item 对象
182
181
  */
183
182
  readonly pluginSystem: PluginSystem;
184
- /**
185
- * 是否在合成结束时自动销毁引用的纹理,合成重播时不销毁
186
- */
187
- readonly autoRefTex: boolean;
188
183
  /**
189
184
  * 当前合成名称
190
185
  */
@@ -239,7 +234,7 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
239
234
  private paused;
240
235
  private lastVideoUpdateTime;
241
236
  private isEndCalled;
242
- private readonly texInfo;
237
+ private _textures;
243
238
  /**
244
239
  * 合成中消息元素创建/销毁时触发的回调
245
240
  */
@@ -405,7 +400,7 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
405
400
  * 获取 engine 对象
406
401
  * @returns
407
402
  */
408
- getEngine(): import("@galacean/effects-core").Engine;
403
+ getEngine(): Engine;
409
404
  /**
410
405
  * Item 求交测试,返回求交结果列表,x 和 y 是归一化到[-1, 1]区间的值,原点在左上角
411
406
  * @param x - 鼠标或触点的 x,已经归一化到[-1, 1]
@@ -478,3 +473,4 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
478
473
  */
479
474
  reloadTexture(): Promise<void>;
480
475
  }
476
+ export declare function filterItemsByRenderLevel(composition: spec.CompositionData, engine: Engine, renderLevel?: SceneRenderLevel): spec.CompositionData;
package/dist/engine.d.ts CHANGED
@@ -5,7 +5,7 @@ import type { EffectsObject } from './effects-object';
5
5
  import type { Material } from './material';
6
6
  import { MaskRefManager } from './material';
7
7
  import type { GPUCapability, Geometry, Mesh, RenderPass, Renderer, ShaderLibrary } from './render';
8
- import type { Scene } from './scene';
8
+ import type { Scene, SceneRenderLevel } from './scene';
9
9
  import type { Texture } from './texture';
10
10
  import type { Disposable } from './utils';
11
11
  /**
@@ -16,6 +16,10 @@ export declare class Engine implements Disposable {
16
16
  * 渲染器
17
17
  */
18
18
  renderer: Renderer;
19
+ /**
20
+ * 渲染等级
21
+ */
22
+ renderLevel?: SceneRenderLevel;
19
23
  emptyTexture: Texture;
20
24
  transparentTexture: Texture;
21
25
  /**
package/dist/index.d.ts CHANGED
@@ -10,7 +10,6 @@ export * from './canvas-pool';
10
10
  export * from './comp-vfx-item';
11
11
  export * from './components';
12
12
  export * from './composition';
13
- export * from './composition-source-manager';
14
13
  export * from './config';
15
14
  export * from './constants';
16
15
  export * from './decorators';