@galacean/effects-core 1.1.0 → 1.1.2

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 (125) hide show
  1. package/dist/index.js +39 -35
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +39 -35
  4. package/dist/index.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/dist/asset-manager.d.ts +0 -135
  7. package/dist/camera.d.ts +0 -183
  8. package/dist/comp-vfx-item.d.ts +0 -71
  9. package/dist/composition-source-manager.d.ts +0 -41
  10. package/dist/composition.d.ts +0 -406
  11. package/dist/config.d.ts +0 -7
  12. package/dist/constants.d.ts +0 -11
  13. package/dist/downloader.d.ts +0 -83
  14. package/dist/engine.d.ts +0 -38
  15. package/dist/filter.d.ts +0 -63
  16. package/dist/filters/alpha-frame.d.ts +0 -5
  17. package/dist/filters/alpha-mask.d.ts +0 -5
  18. package/dist/filters/bloom.d.ts +0 -8
  19. package/dist/filters/camera-move.d.ts +0 -5
  20. package/dist/filters/delay.d.ts +0 -14
  21. package/dist/filters/distortion.d.ts +0 -5
  22. package/dist/filters/gaussian.d.ts +0 -27
  23. package/dist/filters/index.d.ts +0 -2
  24. package/dist/filters/lum.d.ts +0 -5
  25. package/dist/filters/utils.d.ts +0 -7
  26. package/dist/gl/create-gl-context.d.ts +0 -9
  27. package/dist/gl/gpu-time.d.ts +0 -5
  28. package/dist/gl/index.d.ts +0 -6
  29. package/dist/index.d.ts +0 -31
  30. package/dist/libs/earcut.d.ts +0 -37
  31. package/dist/material/index.d.ts +0 -4
  32. package/dist/material/material-data-block.d.ts +0 -27
  33. package/dist/material/material.d.ts +0 -347
  34. package/dist/material/types.d.ts +0 -66
  35. package/dist/material/utils.d.ts +0 -17
  36. package/dist/math/float16array-wrapper.d.ts +0 -5
  37. package/dist/math/index.d.ts +0 -4
  38. package/dist/math/translate.d.ts +0 -10
  39. package/dist/math/utils.d.ts +0 -19
  40. package/dist/math/value-getter.d.ts +0 -127
  41. package/dist/paas-texture-cache.d.ts +0 -24
  42. package/dist/pass-render-level.d.ts +0 -1
  43. package/dist/plugin-system.d.ts +0 -34
  44. package/dist/plugins/cal/calculate-item.d.ts +0 -84
  45. package/dist/plugins/cal/calculate-loader.d.ts +0 -3
  46. package/dist/plugins/cal/calculate-vfx-item.d.ts +0 -26
  47. package/dist/plugins/camera/camera-controller-node.d.ts +0 -17
  48. package/dist/plugins/camera/camera-vfx-item-loader.d.ts +0 -3
  49. package/dist/plugins/camera/camera-vfx-item.d.ts +0 -13
  50. package/dist/plugins/index.d.ts +0 -26
  51. package/dist/plugins/interact/click-handler.d.ts +0 -66
  52. package/dist/plugins/interact/event-system.d.ts +0 -37
  53. package/dist/plugins/interact/interact-item.d.ts +0 -2
  54. package/dist/plugins/interact/interact-loader.d.ts +0 -13
  55. package/dist/plugins/interact/interact-mesh.d.ts +0 -16
  56. package/dist/plugins/interact/interact-vfx-item.d.ts +0 -28
  57. package/dist/plugins/particle/burst.d.ts +0 -21
  58. package/dist/plugins/particle/link.d.ts +0 -21
  59. package/dist/plugins/particle/particle-loader.d.ts +0 -18
  60. package/dist/plugins/particle/particle-mesh.d.ts +0 -164
  61. package/dist/plugins/particle/particle-system.d.ts +0 -198
  62. package/dist/plugins/particle/particle-vfx-item.d.ts +0 -28
  63. package/dist/plugins/particle/trail-mesh.d.ts +0 -61
  64. package/dist/plugins/plugin.d.ts +0 -125
  65. package/dist/plugins/sprite/filter-sprite-vfx-item.d.ts +0 -13
  66. package/dist/plugins/sprite/sprite-group.d.ts +0 -95
  67. package/dist/plugins/sprite/sprite-item.d.ts +0 -106
  68. package/dist/plugins/sprite/sprite-loader.d.ts +0 -20
  69. package/dist/plugins/sprite/sprite-mesh.d.ts +0 -67
  70. package/dist/plugins/sprite/sprite-vfx-item.d.ts +0 -33
  71. package/dist/plugins/text/text-item.d.ts +0 -117
  72. package/dist/plugins/text/text-layout.d.ts +0 -28
  73. package/dist/plugins/text/text-loader.d.ts +0 -18
  74. package/dist/plugins/text/text-mesh.d.ts +0 -15
  75. package/dist/plugins/text/text-style.d.ts +0 -67
  76. package/dist/plugins/text/text-vfx-item.d.ts +0 -28
  77. package/dist/polyfill.d.ts +0 -4
  78. package/dist/render/create-copy-shader.d.ts +0 -6
  79. package/dist/render/frame-buffer.d.ts +0 -48
  80. package/dist/render/geometry.d.ts +0 -118
  81. package/dist/render/global-volume.d.ts +0 -15
  82. package/dist/render/gpu-capability.d.ts +0 -49
  83. package/dist/render/index.d.ts +0 -12
  84. package/dist/render/mesh.d.ts +0 -82
  85. package/dist/render/post-process-pass.d.ts +0 -37
  86. package/dist/render/render-buffer.d.ts +0 -20
  87. package/dist/render/render-frame.d.ts +0 -269
  88. package/dist/render/render-pass.d.ts +0 -309
  89. package/dist/render/renderer.d.ts +0 -62
  90. package/dist/render/shader.d.ts +0 -97
  91. package/dist/render/types.d.ts +0 -5
  92. package/dist/scene.d.ts +0 -29
  93. package/dist/semantic-map.d.ts +0 -14
  94. package/dist/shader/index.d.ts +0 -30
  95. package/dist/shape/2d-shape.d.ts +0 -32
  96. package/dist/shape/cone.d.ts +0 -11
  97. package/dist/shape/donut.d.ts +0 -9
  98. package/dist/shape/earcut.d.ts +0 -1
  99. package/dist/shape/geometry.d.ts +0 -30
  100. package/dist/shape/index.d.ts +0 -3
  101. package/dist/shape/shape.d.ts +0 -21
  102. package/dist/shape/sphere.d.ts +0 -15
  103. package/dist/shape/texture-shape.d.ts +0 -11
  104. package/dist/template-image/index.d.ts +0 -67
  105. package/dist/template-image/qcanvas-viewer.d.ts +0 -21
  106. package/dist/template-image/qtext.d.ts +0 -96
  107. package/dist/template-image/template-v1.d.ts +0 -27
  108. package/dist/template-image/text-metrics.d.ts +0 -18
  109. package/dist/texture/index.d.ts +0 -5
  110. package/dist/texture/ktx-texture.d.ts +0 -21
  111. package/dist/texture/texture-factory.d.ts +0 -13
  112. package/dist/texture/texture.d.ts +0 -78
  113. package/dist/texture/types.d.ts +0 -165
  114. package/dist/texture/utils.d.ts +0 -5
  115. package/dist/ticker.d.ts +0 -48
  116. package/dist/transform.d.ts +0 -221
  117. package/dist/utils/array.d.ts +0 -19
  118. package/dist/utils/asserts.d.ts +0 -2
  119. package/dist/utils/color.d.ts +0 -10
  120. package/dist/utils/device.d.ts +0 -4
  121. package/dist/utils/image-data.d.ts +0 -10
  122. package/dist/utils/index.d.ts +0 -67
  123. package/dist/utils/sortable.d.ts +0 -23
  124. package/dist/utils/timeline-component.d.ts +0 -39
  125. package/dist/vfx-item.d.ts +0 -360
@@ -1,406 +0,0 @@
1
- import * as spec from '@galacean/effects-specification';
2
- import type { Ray } from '@galacean/effects-math/es/core/index';
3
- import type { JSONValue } from './downloader';
4
- import type { Scene } from './scene';
5
- import type { Disposable, LostHandler } from './utils';
6
- import { Transform } from './transform';
7
- import type { VFXItem, VFXItemContent, VFXItemProps } from './vfx-item';
8
- import { CompVFXItem } from './comp-vfx-item';
9
- import type { InteractVFXItem, EventSystem } from './plugins';
10
- import type { PluginSystem } from './plugin-system';
11
- import type { MeshRendererOptions, Renderer } from './render';
12
- import type { Texture } from './texture';
13
- import { RenderFrame } from './render';
14
- import { Camera } from './camera';
15
- import type { Region } from './plugins';
16
- import { CompositionSourceManager } from './composition-source-manager';
17
- export interface CompositionStatistic {
18
- loadTime: number;
19
- loadStart: number;
20
- firstFrameTime: number;
21
- }
22
- export interface MessageItem {
23
- id: string;
24
- name: string;
25
- phrase: number;
26
- compositionId: number;
27
- }
28
- /**
29
- *
30
- */
31
- export interface CompositionHitTestOptions {
32
- maxCount?: number;
33
- stop?: (region: Region) => boolean;
34
- skip?: (item: VFXItem<VFXItemContent>) => boolean;
35
- }
36
- export interface CompositionProps {
37
- reusable?: boolean;
38
- baseRenderOrder?: number;
39
- renderer: Renderer;
40
- handlePlayerPause?: (item: VFXItem<any>) => void;
41
- handleMessageItem?: (item: MessageItem) => void;
42
- handleEnd?: (composition: Composition) => void;
43
- event?: EventSystem;
44
- width: number;
45
- height: number;
46
- speed?: number;
47
- }
48
- /**
49
- * 合成抽象类:核心对象,通常一个场景只包含一个合成,可能会有多个合成。
50
- * 合成中包含了相关的 Item 元素,支持对 Item 元素的创建、更新和销毁。
51
- * 也负责 Item 相关的动画播放控制,和持有渲染帧数据。
52
- */
53
- export declare class Composition implements Disposable, LostHandler {
54
- renderer: Renderer;
55
- /**
56
- * 当前帧的渲染数据对象
57
- */
58
- renderFrame: RenderFrame;
59
- /**
60
- * 动画播放速度
61
- */
62
- speed: number;
63
- /**
64
- * 是否卸载纹理贴图,就是将纹理贴图大小设置为1x1
65
- */
66
- textureOffloaded: boolean;
67
- videoState: (number | undefined)[];
68
- compositionSourceManager: CompositionSourceManager;
69
- /**
70
- * 合成渲染顺序,默认按升序渲染
71
- */
72
- renderOrder: number;
73
- /**
74
- * 所有合成 Item 的根变换
75
- */
76
- transform: Transform;
77
- /**
78
- * 播放完成后是否需要再使用,是的话生命周期结束后不会自动 dispose
79
- */
80
- reusable: boolean;
81
- /**
82
- * 是否播放完成后销毁 texture 对象
83
- */
84
- keepResource: boolean;
85
- /**
86
- * 合成结束行为是 spec.END_BEHAVIOR_PAUSE 或 spec.END_BEHAVIOR_PAUSE_AND_DESTROY 时执行的回调
87
- */
88
- handlePlayerPause?: (item: VFXItem<any>) => void;
89
- /**
90
- * 单个合成结束时的回调
91
- */
92
- handleEnd?: (composition: Composition) => void;
93
- /**
94
- * 合成id
95
- */
96
- readonly id: number;
97
- /**
98
- * 画布宽度
99
- */
100
- readonly width: number;
101
- /**
102
- * 画布高度
103
- */
104
- readonly height: number;
105
- /**
106
- * 鼠标和触屏处理系统
107
- */
108
- readonly event?: EventSystem;
109
- /**
110
- * 插件系统,保存当前加载的插件对象,负责插件事件和创建插件的 Item 对象
111
- */
112
- readonly pluginSystem: PluginSystem;
113
- /**
114
- * 是否在合成结束时自动销毁引用的纹理,合成重播时不销毁
115
- */
116
- autoRefTex: boolean;
117
- /**
118
- * 当前合成名称
119
- */
120
- readonly name: string;
121
- /**
122
- * 用于保存与当前合成相关的插件数据
123
- */
124
- readonly loaderData: Record<string, any>;
125
- /**
126
- * 渲染等级:S,A+,A,B+,B
127
- */
128
- readonly renderLevel?: spec.RenderLevel;
129
- /**
130
- * 场景加载和首帧渲染时间
131
- */
132
- readonly statistic: CompositionStatistic;
133
- /**
134
- * 合成对应的 url 或者 JSON
135
- */
136
- readonly url: string | JSONValue;
137
- /**
138
- * 合成对象
139
- */
140
- readonly content: CompVFXItem;
141
- /**
142
- * 预合成数组
143
- */
144
- readonly refContent: CompVFXItem[];
145
- /**
146
- * 预合成的合成属性,在 content 中会被其元素属性覆盖
147
- */
148
- refCompositionProps: Map<string, VFXItemProps>;
149
- /**
150
- * 合成的相机对象
151
- */
152
- readonly camera: Camera;
153
- protected rendererOptions: MeshRendererOptions | null;
154
- protected assigned: boolean;
155
- /**
156
- * 销毁状态位
157
- */
158
- protected destroyed: boolean;
159
- /**
160
- * 是否是否每次渲染时清除 RenderFrame 颜色缓存
161
- */
162
- protected readonly keepColorBuffer: boolean;
163
- /**
164
- * 合成暂停/播放 标识
165
- */
166
- private paused;
167
- private lastVideoUpdateTime;
168
- /**
169
- * 后处理渲染配置
170
- */
171
- private readonly globalVolume;
172
- private readonly texInfo;
173
- private readonly postLoaders;
174
- private readonly handleMessageItem?;
175
- /**
176
- * Composition 构造函数
177
- * @param props - composition 的创建参数
178
- */
179
- constructor(props: CompositionProps, scene: Scene);
180
- /**
181
- * 获取场景中的纹理数组
182
- */
183
- get textures(): Texture[];
184
- /**
185
- * 获取合成中所有元素
186
- */
187
- get items(): VFXItem<VFXItemContent>[];
188
- /**
189
- * 获取合成开始时间
190
- */
191
- get startTime(): number;
192
- /**
193
- * 获取合成当前时间
194
- */
195
- get time(): number;
196
- /**
197
- * 获取销毁状态
198
- */
199
- get isDestroyed(): boolean;
200
- /**
201
- * 获取合成的时长
202
- */
203
- getDuration(): number;
204
- /**
205
- * 重新开始合成
206
- */
207
- restart(): void;
208
- /**
209
- * 设置当前合成的渲染顺序
210
- * @param index - 序号,大的后绘制
211
- */
212
- setIndex(index: number): void;
213
- /**
214
- * 获取当前合成的渲染顺序
215
- * @returns
216
- */
217
- getIndex(): number;
218
- /**
219
- * 设置合成的动画速度
220
- * @param speed - 速度
221
- */
222
- setSpeed(speed: number): void;
223
- /**
224
- * 获取合成的动画速度
225
- * @returns
226
- */
227
- getSpeed(): number;
228
- play(): void;
229
- /**
230
- * 暂停合成的播放
231
- */
232
- pause(): void;
233
- /**
234
- * 恢复合成的播放
235
- */
236
- resume(): void;
237
- gotoAndPlay(time: number): void;
238
- gotoAndStop(time: number): void;
239
- /**
240
- *
241
- */
242
- createRenderFrame(): void;
243
- /**
244
- * 跳到指定时间点(不做任何播放行为)
245
- * @param time - 指定的时间
246
- */
247
- setTime(time: number): void;
248
- private forwardTime;
249
- /**
250
- * 重置状态函数
251
- */
252
- protected reset(): void;
253
- private prepareRender;
254
- /**
255
- * 是否合成需要重新播放
256
- * @returns 重新播放合成标志位
257
- */
258
- private shouldRestart;
259
- /**
260
- * 是否合成需要销毁
261
- * @returns 销毁合成标志位
262
- */
263
- private shouldDispose;
264
- /**
265
- * 合成更新,针对所有 item 的更新
266
- * @param deltaTime - 更新的时间步长
267
- * @param skipRender - 是否需要渲染
268
- */
269
- update(deltaTime: number, skipRender?: boolean): void;
270
- /**
271
- * 更新视频数据到纹理
272
- * @override
273
- */
274
- updateVideo(): void;
275
- /**
276
- * 更新相机
277
- * @override
278
- */
279
- updateCamera(): void;
280
- /**
281
- * 插件更新,来自 CompVFXItem 的更新调用
282
- * @param deltaTime - 更新的时间步长
283
- */
284
- updatePluginLoaders(deltaTime: number): void;
285
- /**
286
- * 通过名称获取元素
287
- * @param name - 元素名称
288
- * @param type - 元素类型
289
- * @returns 元素对象
290
- */
291
- getItemByName(name: string, type?: spec.ItemType): VFXItem<VFXItemContent> | undefined;
292
- /**
293
- * 通过 id 获取元素
294
- * @param id - 元素 id
295
- * @return
296
- */
297
- getItemByID(id: string): VFXItem<VFXItemContent> | null;
298
- /**
299
- * 获取指定元素当前时刻真正起作用的父元素, 需要在元素生命周期内获取
300
- * @internal
301
- * @param item - 指定元素
302
- * @return 当父元素生命周期结束时,返回空
303
- */
304
- getItemCurrentParent(item: VFXItem<VFXItemContent>): VFXItem<VFXItemContent> | void;
305
- /**
306
- * Item 的起始和结束事件
307
- * @internal
308
- * @param item - 合成元素
309
- * @param start - 是起始事件
310
- */
311
- itemLifetimeEvent(item: VFXItem<any>, start: boolean): void;
312
- /**
313
- * 获取指定位置和相机连成的射线
314
- * @param x
315
- * @param y
316
- * @returns
317
- */
318
- getHitTestRay(x: number, y: number): Ray;
319
- /**
320
- * 获取 engine 对象
321
- * @returns
322
- */
323
- getEngine(): import("./engine").Engine;
324
- /**
325
- * Item 求交测试,返回求交结果列表,x 和 y 是归一化到[-1, 1]区间的值,原点在左上角
326
- * @param x - 鼠标或触点的 x,已经归一化到[-1, 1]
327
- * @param y - 鼠标或触点的 y,已经归一化到[-1, 1]
328
- * @param force - 是否强制求交,没有交互信息的 Item 也要进行求交测试
329
- * @param options - 最大求交数和求交时的回调
330
- */
331
- hitTest(x: number, y: number, force?: boolean, options?: CompositionHitTestOptions): Region[];
332
- /**
333
- * InteractItem 生命周期开始时的调用
334
- * @param item - 交互元素
335
- * @param type - 交互类型
336
- */
337
- addInteractiveItem(item: InteractVFXItem, type: spec.InteractType): string | undefined;
338
- /**
339
- * InteractItem 生命周期结束时的调用
340
- * @param item - 交互元素
341
- * @param type - 交互类型
342
- */
343
- removeInteractiveItem(item: InteractVFXItem, type: spec.InteractType): void;
344
- /**
345
- * 销毁插件 Item 中保存的纹理数组
346
- * @internal
347
- * @param textures - 需要销毁的数组
348
- */
349
- destroyTextures(textures: (Texture | null | undefined)[]): void;
350
- /**
351
- * 销毁 Item
352
- * @internal
353
- * @param item - 需要销毁的 item
354
- */
355
- destroyItem(item: VFXItem<VFXItemContent>): void;
356
- lost(e: Event): void;
357
- /**
358
- * 合成对象销毁
359
- */
360
- dispose(): void;
361
- /**
362
- * 编辑器使用的 transform 修改方法
363
- * @internal
364
- * @param scale - 缩放比例
365
- * @param dx - x偏移量
366
- * @param dy - y偏移量
367
- */
368
- setEditorTransform(scale: number, dx: number, dy: number): void;
369
- /**
370
- * 合成整体在水平方向移动 x 像素,垂直方向移动 y 像素
371
- */
372
- translateByPixel(x: number, y: number): void;
373
- /**
374
- * 设置合成在 3D 坐标轴上相对当前的位移
375
- */
376
- translate(x: number, y: number, z: number): void;
377
- /**
378
- * 设置合成在 3D 坐标轴上相对原点的位移
379
- */
380
- setPosition(x: number, y: number, z: number): void;
381
- /**
382
- * 设置合成在 3D 坐标轴上相对当前的旋转(角度)
383
- */
384
- rotate(x: number, y: number, z: number): void;
385
- /**
386
- * 设置合成在 3D 坐标轴上的相对原点的旋转(角度)
387
- */
388
- setRotation(x: number, y: number, z: number): void;
389
- /**
390
- * 设置合成在 3D 坐标轴上相对当前的缩放
391
- */
392
- scale(x: number, y: number, z: number): void;
393
- /**
394
- * 设置合成在 3D 坐标轴上的缩放
395
- */
396
- setScale(x: number, y: number, z: number): void;
397
- /**
398
- * 卸载贴图纹理方法,减少内存
399
- */
400
- offloadTexture(): void;
401
- getRendererOptions(): MeshRendererOptions;
402
- /**
403
- * 重新加载纹理
404
- */
405
- reloadTexture(): Promise<void>;
406
- }
package/dist/config.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export declare const RUNTIME_ENV = "runtime_env";
2
- export declare const LOG_TYPE = "galacean-effects";
3
- export declare const RENDER_PREFER_LOOKUP_TEXTURE = "lookup_texture";
4
- export declare const TEMPLATE_USE_OFFSCREEN_CANVAS = "offscreen_canvas";
5
- export declare const POST_PROCESS_SETTINGS = "post_process_settings";
6
- export declare function getConfig<T extends number | boolean | string | Record<string, any>>(name: string): T;
7
- export declare function setConfig<T extends number | boolean | string | Record<string, any>>(name: string, value: T): string | number | boolean | Record<string, any>;
@@ -1,11 +0,0 @@
1
- export declare const SPRITE_VERTEX_STRIDE = 6;
2
- export declare const SEMANTIC_PRE_COLOR_ATTACHMENT_0 = "PRE_COLOR_0";
3
- export declare const SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0 = "PRE_COLOR_SIZE_0";
4
- export declare const SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0 = "PRE_MAIN_COLOR_0";
5
- export declare const SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0 = "PRE_MAIN_COLOR_SIZE_0";
6
- export declare const PLAYER_OPTIONS_ENV_EDITOR = "editor";
7
- export declare const FILTER_NAME_NONE = "none";
8
- export declare const HELP_LINK: {
9
- 'Filter not imported': string;
10
- 'Item duration can\'t be less than 0': string;
11
- };
@@ -1,83 +0,0 @@
1
- type SuccessHandler<T> = (data: T) => void;
2
- type ErrorHandler = (status: number, responseText: string) => void;
3
- /**
4
- *
5
- */
6
- type VideoLoadOptions = {
7
- /**
8
- * 视频是否循环播放
9
- */
10
- loop?: boolean;
11
- };
12
- /**
13
- * JSON 值,它可以是字符串、数字、布尔值、对象或者 JSON 值的数组。
14
- *
15
- * @typedef {string | number | boolean | {[key: string]: JSONValue} | JSONValue[]} JSONValue
16
- */
17
- export type JSONValue = string | number | boolean | {
18
- [key: string]: JSONValue;
19
- } | JSONValue[];
20
- /**
21
- * 负责下载各种资源,并提供了一些异步加载和缓存管理的功能
22
- */
23
- export declare class Downloader {
24
- /**
25
- * 存储多个回调函数的对象
26
- */
27
- private callbacks;
28
- /**
29
- * 下载一个 JSON 文件
30
- * @param url - 要下载的 JSON 文件的 URL
31
- * @param onSuccess - 下载成功后的回调函数
32
- * @param onError - 下载失败后的回调函数
33
- */
34
- downloadJSON(url: string, onSuccess: SuccessHandler<JSONValue>, onError: ErrorHandler): void;
35
- /**
36
- * 下载一个二进制文件
37
- * @param url - 要下载的二进制文件的 URL
38
- * @param onSuccess - 下载成功后的回调函数
39
- * @param onError - 下载失败后的回调函数
40
- */
41
- downloadBinary(url: string, onSuccess: SuccessHandler<ArrayBuffer>, onError: ErrorHandler): void;
42
- /**
43
- * 下载一个 Blob 文件
44
- * @param url - 要下载的 Blob 文件的 URL
45
- * @param onSuccess - 下载成功后的回调函数
46
- * @param onError - 下载失败后的回调函数
47
- */
48
- downloadBlob(url: string, onSuccess: SuccessHandler<Blob>, onError: ErrorHandler): void;
49
- private download;
50
- private start;
51
- private finish;
52
- }
53
- /**
54
- * 异步加载一个 WebP 图片文件,如果不支持 WebP,则加载 PNG 图片文件
55
- * @param png - PNG 图片文件的 URL
56
- * @param webp - WebP 图片文件的 URL
57
- */
58
- export declare function loadWebPOptional(png: string, webp?: string): Promise<{
59
- image: HTMLImageElement;
60
- url: string;
61
- }>;
62
- /**
63
- * 异步加载一个图片文件
64
- * @param source - 图片文件的 URL、Blob 或 HTMLImageElement 对象
65
- */
66
- export declare function loadImage(source: string | Blob | HTMLImageElement): Promise<HTMLImageElement>;
67
- /**
68
- * 异步加载一个二进制文件
69
- * @param url - 二进制文件的 URL
70
- */
71
- export declare function loadBinary(url: string): Promise<ArrayBuffer>;
72
- /**
73
- * 异步加载一个 Blob 文件
74
- * @param url - Blob 文件的 URL
75
- */
76
- export declare function loadBlob(url: string): Promise<Blob>;
77
- /**
78
- * 异步加载一个视频文件
79
- * @param url - 视频文件的 URL 或 MediaProvider 对象
80
- * @param options - 加载参数
81
- */
82
- export declare function loadVideo(url: string | MediaProvider, options?: VideoLoadOptions): Promise<HTMLVideoElement>;
83
- export {};
package/dist/engine.d.ts DELETED
@@ -1,38 +0,0 @@
1
- import type { Material } from './material';
2
- import type { Texture } from './texture';
3
- import { type Geometry, type Mesh, type RenderPass } from './render';
4
- import type { Disposable } from './utils';
5
- import type { ShaderLibrary, GPUCapability, Renderer } from './render';
6
- /**
7
- * Engine 基类,负责维护所有 GPU 资源的销毁
8
- */
9
- export declare class Engine implements Disposable {
10
- renderer: Renderer;
11
- protected destroyed: boolean;
12
- protected textures: Texture[];
13
- protected materials: Material[];
14
- protected geometries: Geometry[];
15
- protected meshes: Mesh[];
16
- protected renderPasses: RenderPass[];
17
- gpuCapability: GPUCapability;
18
- /**
19
- * 创建 Engine 对象。
20
- */
21
- static create: (gl: WebGLRenderingContext | WebGL2RenderingContext) => Engine;
22
- addTexture(tex: Texture): void;
23
- removeTexture(tex: Texture): void;
24
- addMaterial(mat: Material): void;
25
- removeMaterial(mat: Material): void;
26
- addGeometry(geo: Geometry): void;
27
- removeGeometry(geo: Geometry): void;
28
- addMesh(mesh: Mesh): void;
29
- removeMesh(mesh: Mesh): void;
30
- addRenderPass(pass: RenderPass): void;
31
- removeRenderPass(pass: RenderPass): void;
32
- get isDestroyed(): boolean;
33
- getShaderLibrary(): ShaderLibrary;
34
- /**
35
- * 销毁所有缓存的资源
36
- */
37
- dispose(): void;
38
- }
package/dist/filter.d.ts DELETED
@@ -1,63 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { Composition } from './composition';
3
- import type { FilterMaterialStates, UniformValue } from './material';
4
- import type { ValueGetter } from './math';
5
- import type { FilterSpriteVFXItem } from './plugins';
6
- import type { RenderFrame, RenderPassSplitOptions, RenderPass, RenderPassDelegate } from './render';
7
- export type FilterDefineFunc = (filter: spec.FilterParams, composition: Composition) => FilterDefine;
8
- export type FilterShaderFunc = (filter: spec.FilterParams) => FilterShaderDefine[];
9
- /**
10
- * 注册滤镜
11
- * @param name - 滤镜名
12
- * @param func - 函数,用于在创建 Mesh 前执行
13
- * @param shaderFunc - 函数,用于获取创建 shader 文本的参数
14
- */
15
- export declare function registerFilter(name: string, func: FilterDefineFunc, shaderFunc: FilterShaderFunc): void;
16
- /**
17
- * 批量注册插件
18
- * @param filters
19
- */
20
- export declare function registerFilters(filters: Record<string, [register: FilterDefineFunc, createShaderDefine: FilterShaderFunc]>): void;
21
- /**
22
- * 执行注册的 shader 回调,创建滤镜的 shader
23
- * @param filter - `filterShaderFunc` 回调函数的参数
24
- */
25
- export declare function createFilterShaders(filter: spec.FilterParams): FilterShaderDefine[];
26
- /**
27
- * 获取滤镜需要在 Mesh 中传递的参数和在 renderPass 中的回调
28
- * @param filter - `filterFunc` 回调的参数
29
- * @param composition - 合成对象
30
- */
31
- export declare function createFilter(filter: spec.FilterParams, composition: Composition): FilterDefine;
32
- export interface ParticleFilterDefine {
33
- fragment: string;
34
- vertex?: string;
35
- uniforms?: Record<string, ValueGetter<number>>;
36
- uniformValues?: Record<string, UniformValue>;
37
- }
38
- export interface FilterShaderDefine {
39
- vertex?: string;
40
- fragment?: string;
41
- shaderCacheId?: string;
42
- ignoreBlend?: boolean;
43
- isParticle?: boolean;
44
- uniforms?: [type: spec.ValueType, value: any][];
45
- }
46
- export interface FilterDefine {
47
- particle?: ParticleFilterDefine;
48
- mesh: {
49
- name?: string;
50
- vertex?: string;
51
- fragment?: string;
52
- shaderCacheId?: string;
53
- uniformValues?: Record<string, UniformValue>;
54
- materialStates?: FilterMaterialStates;
55
- variables?: Record<string, (life: number) => UniformValue>;
56
- };
57
- prePasses?: RenderPass[];
58
- passSplitOptions?: RenderPassSplitOptions;
59
- renderPassDelegate?: RenderPassDelegate;
60
- onItemUpdate?: (dt: number, item: FilterSpriteVFXItem) => void;
61
- onItemRemoved?: (item: FilterSpriteVFXItem) => void;
62
- onRenderPassCreated?: (rp: RenderPass, renderFrame: RenderFrame) => void;
63
- }
@@ -1,5 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { FilterDefine, FilterShaderDefine } from '../filter';
3
- import type { Composition } from '../composition';
4
- export declare function createAlphaFrameShader(): FilterShaderDefine[];
5
- export declare function registerAlphaFrameFilter(filter: spec.FilterParams, composition: Composition): FilterDefine;
@@ -1,5 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { FilterDefine, FilterShaderDefine } from '../filter';
3
- import type { Composition } from '../composition';
4
- export declare function createAlphaMaskShader(): FilterShaderDefine[];
5
- export declare function registerAlphaMaskFilter(filter: spec.FilterParams, composition: Composition): FilterDefine;
@@ -1,8 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { Composition } from '../composition';
3
- import type { FilterDefine, FilterShaderDefine } from '../filter';
4
- /******************************************************************************************/
5
- /** Bloom 滤镜,分4个 pass 组成,分别是阈值 Pass、高斯 H、高斯 V 和最终合并 pass 结果的 copyPass ***/
6
- /******************************************************************************************/
7
- export declare function createBloomShader(filter: spec.FilterParams): FilterShaderDefine[];
8
- export declare function registerBloomFilter(filter: spec.FilterParams, composition: Composition): FilterDefine;
@@ -1,5 +0,0 @@
1
- import * as spec from '@galacean/effects-specification';
2
- import type { Composition } from '../composition';
3
- import type { FilterDefine, FilterShaderDefine } from '../filter';
4
- export declare function createCameraMoveShader(): FilterShaderDefine[];
5
- export declare function registerCameraMoveFilter(filter: spec.FilterParams, composition: Composition): FilterDefine;
@@ -1,14 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { Composition } from '../composition';
3
- import type { FilterDefine, FilterShaderDefine } from '../filter';
4
- import type { Renderer, RenderPassOptions } from '../render';
5
- import { RenderPass } from '../render';
6
- import { Texture } from '../texture';
7
- export declare class DelayPass extends RenderPass {
8
- prePassTexture: Texture;
9
- constructor(renderer: Renderer, options: RenderPassOptions);
10
- configure(renderer: Renderer): void;
11
- execute(renderer: Renderer): void;
12
- }
13
- export declare function createDelayShader(): FilterShaderDefine[];
14
- export declare function registerDelayFilter(filter: spec.FilterParams, composition: Composition): FilterDefine;
@@ -1,5 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { FilterDefine, FilterShaderDefine } from '../filter';
3
- import type { Composition } from '../composition';
4
- export declare function createDistortionShader(filter: spec.FilterParams): FilterShaderDefine[];
5
- export declare function registerDistortionFilter(filter: spec.FilterParams, composition: Composition): FilterDefine;
@@ -1,27 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { Composition } from '../composition';
3
- import type { FilterDefine, FilterShaderDefine } from '../filter';
4
- import type { RenderPassOptions, Renderer } from '../render';
5
- import { RenderPass, RenderTargetHandle } from '../render';
6
- import { Texture } from '../texture';
7
- /**
8
- * 滤镜元素的最终渲染 Pass
9
- */
10
- export declare class CopyPass extends RenderPass {
11
- preDefaultPassAttachment: RenderTargetHandle;
12
- prePassTexture: Texture;
13
- constructor(renderer: Renderer, options: RenderPassOptions, preDefaultPassAttachment?: RenderTargetHandle);
14
- configure(renderer: Renderer): void;
15
- execute(renderer: Renderer): void;
16
- }
17
- export declare function createGaussianShader(filter: spec.FilterParams): FilterShaderDefine[];
18
- export declare function registerGaussianFilter(filter: spec.FilterParams, composition: Composition): FilterDefine;
19
- export declare function gaussianFilter(opts: {
20
- radius: number;
21
- maxStep?: number;
22
- }): {
23
- shader: string;
24
- step: number;
25
- downSample: number;
26
- radius: number;
27
- };