@galacean/effects-core 2.7.4 → 2.8.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/asset-manager.d.ts +5 -5
- package/dist/components/index.d.ts +1 -0
- package/dist/components/position-constraint.d.ts +92 -0
- package/dist/composition.d.ts +6 -7
- package/dist/constants.d.ts +4 -0
- package/dist/downloader.d.ts +7 -0
- package/dist/engine.d.ts +67 -6
- package/dist/events/types.d.ts +31 -6
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2834 -2241
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2828 -2238
- package/dist/index.mjs.map +1 -1
- package/dist/plugins/interact/click-handler.d.ts +14 -2
- package/dist/plugins/interact/event-system.d.ts +16 -3
- package/dist/plugins/particle/particle-system.d.ts +1 -2
- package/dist/plugins/plugin.d.ts +0 -49
- package/dist/plugins/sprite/sprite-mesh.d.ts +0 -4
- package/dist/plugins/text/base-layout.d.ts +13 -0
- package/dist/plugins/text/index.d.ts +2 -0
- package/dist/plugins/text/text-component-base.d.ts +61 -0
- package/dist/plugins/text/text-item.d.ts +25 -100
- package/dist/plugins/text/text-layout.d.ts +9 -19
- package/dist/plugins/text/text-style.d.ts +2 -1
- package/dist/render/draw-object-pass.d.ts +8 -0
- package/dist/render/framebuffer.d.ts +0 -4
- package/dist/render/gpu-capability.d.ts +17 -5
- package/dist/render/index.d.ts +1 -0
- package/dist/render/post-process-pass.d.ts +14 -5
- package/dist/render/render-frame.d.ts +8 -31
- package/dist/render/render-pass.d.ts +0 -26
- package/dist/render/renderer.d.ts +5 -18
- package/dist/scene-loader.d.ts +7 -0
- package/dist/texture/index.d.ts +1 -1
- package/dist/texture/texture-loader.d.ts +60 -0
- package/dist/transform.d.ts +8 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/vfx-item.d.ts +10 -3
- package/package.json +2 -2
- package/dist/texture/ktx-texture.d.ts +0 -21
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import type { vec4 } from '@galacean/effects-specification';
|
|
2
1
|
import type { Matrix4 } from '@galacean/effects-math/es/core/matrix4';
|
|
3
2
|
import { Vector2 } from '@galacean/effects-math/es/core/vector2';
|
|
3
|
+
import type { Vector3 } from '@galacean/effects-math/es/core/vector3';
|
|
4
4
|
import { Vector4 } from '@galacean/effects-math/es/core/vector4';
|
|
5
|
+
import type { vec4 } from '@galacean/effects-specification';
|
|
5
6
|
import type { Camera } from '../camera';
|
|
7
|
+
import type { PostProcessVolume, RendererComponent } from '../components';
|
|
6
8
|
import type { UniformValue } from '../material';
|
|
7
9
|
import { PassTextureCache } from '../paas-texture-cache';
|
|
8
|
-
import type {
|
|
9
|
-
import { SemanticMap } from './semantic-map';
|
|
10
|
-
import { Texture } from '../texture';
|
|
10
|
+
import type { Texture } from '../texture';
|
|
11
11
|
import type { Disposable } from '../utils';
|
|
12
12
|
import { DestroyOptions } from '../utils';
|
|
13
|
-
import { Mesh } from './mesh';
|
|
14
|
-
import type { RenderPassClearAction, RenderPassColorAttachmentOptions, RenderPassDepthStencilAttachment, RenderPassDestroyOptions, RenderPassStoreAction } from './render-pass';
|
|
15
|
-
import { RenderPass } from './render-pass';
|
|
13
|
+
import type { Mesh } from './mesh';
|
|
14
|
+
import type { RenderPass, RenderPassClearAction, RenderPassColorAttachmentOptions, RenderPassDepthStencilAttachment, RenderPassDestroyOptions, RenderPassStoreAction } from './render-pass';
|
|
16
15
|
import type { Renderer } from './renderer';
|
|
17
|
-
import type {
|
|
18
|
-
import
|
|
16
|
+
import type { SemanticFunc } from './semantic-map';
|
|
17
|
+
import { SemanticMap } from './semantic-map';
|
|
19
18
|
/**
|
|
20
19
|
* 渲染数据,保存了当前渲染使用到的数据。
|
|
21
20
|
*/
|
|
@@ -172,7 +171,6 @@ export declare class RenderFrame implements Disposable {
|
|
|
172
171
|
*/
|
|
173
172
|
globalVolume?: PostProcessVolume;
|
|
174
173
|
renderer: Renderer;
|
|
175
|
-
resource: RenderFrameResource;
|
|
176
174
|
keepColorBuffer?: boolean;
|
|
177
175
|
editorTransform: Vector4;
|
|
178
176
|
renderQueue: RendererComponent[];
|
|
@@ -207,19 +205,12 @@ export declare class RenderFrame implements Disposable {
|
|
|
207
205
|
* @param options - 可以有选择销毁一些对象
|
|
208
206
|
*/
|
|
209
207
|
dispose(options?: RenderFrameDestroyOptions): void;
|
|
210
|
-
/**
|
|
211
|
-
* 重置 RenderPass ColorAttachment,解决 Framebuffer 即读又写的问题
|
|
212
|
-
* @param renderPasses - RenderPass 对象数组
|
|
213
|
-
* @param startIndex - 开始重置的索引
|
|
214
|
-
*/
|
|
215
|
-
resetRenderPassDefaultAttachment(renderPasses: RenderPass[], startIndex: number): void;
|
|
216
208
|
/**
|
|
217
209
|
* 查找 Mesh 所在的 RenderPass 索引,没找到是-1
|
|
218
210
|
* @param mesh - 需要查找的 Mesh
|
|
219
211
|
*/
|
|
220
212
|
findMeshRenderPassIndex(mesh: Mesh): number;
|
|
221
213
|
protected addToRenderPass(renderPass: RenderPass, mesh: Mesh): void;
|
|
222
|
-
protected getRPAttachments(attachments: RenderPassColorAttachmentOptions[], preRP?: RenderPass): RenderPassColorAttachmentOptions[];
|
|
223
214
|
protected resetClearActions(): void;
|
|
224
215
|
/**
|
|
225
216
|
* 设置 RenderPass 数组,直接修改内部的 RenderPass 数组
|
|
@@ -231,20 +222,6 @@ export declare class RenderFrame implements Disposable {
|
|
|
231
222
|
* @param pass - 需要添加的 RenderPass
|
|
232
223
|
*/
|
|
233
224
|
addRenderPass(pass: RenderPass): void;
|
|
234
|
-
/**
|
|
235
|
-
* 创建 RenderPass 切分时需要的 GPU 资源
|
|
236
|
-
*/
|
|
237
|
-
createResource(): void;
|
|
238
|
-
/**
|
|
239
|
-
* 创建拷贝 RenderPass 用到的 Mesh 对象
|
|
240
|
-
* @param semantics - RenderPass 渲染时 Framebuffer 的颜色和深度纹理、大小和是否混合
|
|
241
|
-
*/
|
|
242
|
-
createCopyMesh(semantics?: {
|
|
243
|
-
tex?: string;
|
|
244
|
-
size?: string;
|
|
245
|
-
blend?: boolean;
|
|
246
|
-
depthTexture?: Texture;
|
|
247
|
-
}): Mesh;
|
|
248
225
|
/**
|
|
249
226
|
* 移除 RenderPass
|
|
250
227
|
* @param pass - 需要移除的 RenderPass
|
|
@@ -172,16 +172,6 @@ export interface RenderPassDelegate {
|
|
|
172
172
|
export interface RenderPassAttachmentOptions {
|
|
173
173
|
attachments?: RenderPassColorAttachmentOptions[];
|
|
174
174
|
depthStencilAttachment?: RenderPassDepthStencilAttachmentOptions;
|
|
175
|
-
/**
|
|
176
|
-
* RenderPass 视口大小,如果没有指定,会用 viewportScale 计算
|
|
177
|
-
*/
|
|
178
|
-
viewport?: [x: number, y: number, width: number, height: number];
|
|
179
|
-
/**
|
|
180
|
-
* 视口缩放系数
|
|
181
|
-
* 1. viewport 提供时,忽略此参数,RenderPass 视口大小由 viewport 决定;
|
|
182
|
-
* 2. 默认为1,RenderPass 视口大小由画布大小* viewportScale 决定,画布尺寸变化时,RenderPass 视口也会变化;
|
|
183
|
-
*/
|
|
184
|
-
viewportScale?: number;
|
|
185
175
|
}
|
|
186
176
|
export interface RenderPassOptions extends RenderPassAttachmentOptions {
|
|
187
177
|
name?: string;
|
|
@@ -246,7 +236,6 @@ export declare class RenderPass implements Disposable, Sortable {
|
|
|
246
236
|
protected options: RenderPassAttachmentOptions;
|
|
247
237
|
protected renderer: Renderer;
|
|
248
238
|
private initialized;
|
|
249
|
-
private viewportScale;
|
|
250
239
|
private depthTexture?;
|
|
251
240
|
private stencilTexture?;
|
|
252
241
|
private isCustomViewport;
|
|
@@ -259,10 +248,6 @@ export declare class RenderPass implements Disposable, Sortable {
|
|
|
259
248
|
addMesh(mesh: RendererComponent): void;
|
|
260
249
|
removeMesh(mesh: RendererComponent): void;
|
|
261
250
|
setMeshes(meshes: RendererComponent[]): RendererComponent[];
|
|
262
|
-
/**
|
|
263
|
-
* 获取当前 Attachment 数组,注意 RenderPass 可能没有创建完成
|
|
264
|
-
*/
|
|
265
|
-
getInitAttachments(): RenderPassColorAttachmentOptions[] | RenderTargetHandle[] | undefined;
|
|
266
251
|
/**
|
|
267
252
|
* 配置当前pass的RT,在每帧渲染前调用
|
|
268
253
|
*/
|
|
@@ -275,17 +260,6 @@ export declare class RenderPass implements Disposable, Sortable {
|
|
|
275
260
|
* 每帧所有的pass渲染完后调用,通常用于清空临时的RT资源
|
|
276
261
|
*/
|
|
277
262
|
frameCleanup(renderer: Renderer): void;
|
|
278
|
-
/**
|
|
279
|
-
* 重置 ColorAttachment 数组,会直接替换掉
|
|
280
|
-
* @param colors - 纹理数组,作为新的 ColorAttachment
|
|
281
|
-
*/
|
|
282
|
-
resetColorAttachments(colors: Texture[]): void;
|
|
283
|
-
/**
|
|
284
|
-
* 重置所有 Attachment,会替换掉所有 Attachment
|
|
285
|
-
* @param options - Attachment 和视口数据
|
|
286
|
-
*/
|
|
287
|
-
resetAttachments(options: RenderPassAttachmentOptions): void;
|
|
288
|
-
private setViewportOptions;
|
|
289
263
|
private _resetAttachments;
|
|
290
264
|
/**
|
|
291
265
|
* 获取当前视口大小,格式:[x偏移,y偏移,宽度,高度]
|
|
@@ -8,40 +8,27 @@ import type { Geometry } from './geometry';
|
|
|
8
8
|
import type { RenderFrame, RenderingData } from './render-frame';
|
|
9
9
|
import type { RenderPassClearAction, RenderPassStoreAction } from './render-pass';
|
|
10
10
|
import type { ShaderLibrary } from './shader';
|
|
11
|
-
import type { GLType } from '../gl';
|
|
12
11
|
export declare class Renderer implements LostHandler, RestoreHandler {
|
|
13
|
-
static create: (
|
|
12
|
+
static create: (engine: Engine) => Renderer;
|
|
14
13
|
engine: Engine;
|
|
15
|
-
env: string;
|
|
16
14
|
/**
|
|
17
15
|
* 存放渲染需要用到的数据
|
|
18
16
|
*/
|
|
19
17
|
renderingData: RenderingData;
|
|
20
|
-
|
|
18
|
+
protected currentFramebuffer: Framebuffer;
|
|
19
|
+
constructor(engine: Engine);
|
|
21
20
|
setGlobalFloat(name: string, value: number): void;
|
|
22
21
|
setGlobalInt(name: string, value: number): void;
|
|
23
22
|
setGlobalVector4(name: string, value: Vector4): void;
|
|
24
23
|
setGlobalVector3(name: string, value: Vector3): void;
|
|
25
24
|
setGlobalMatrix(name: string, value: Matrix4): void;
|
|
26
|
-
getFramebuffer(): Framebuffer
|
|
25
|
+
getFramebuffer(): Framebuffer;
|
|
27
26
|
setFramebuffer(framebuffer: Framebuffer | null): void;
|
|
28
27
|
setViewport(x: number, y: number, width: number, height: number): void;
|
|
29
28
|
resize(canvasWidth: number, canvasHeight: number): void;
|
|
30
29
|
clear(action: RenderPassClearAction | RenderPassStoreAction): void;
|
|
31
30
|
getWidth(): number;
|
|
32
31
|
getHeight(): number;
|
|
33
|
-
/**
|
|
34
|
-
* 添加 webglcontextlost 事件回调
|
|
35
|
-
* @override
|
|
36
|
-
* @param lostHandler
|
|
37
|
-
*/
|
|
38
|
-
addLostHandler(lostHandler: LostHandler): void;
|
|
39
|
-
/**
|
|
40
|
-
* 添加 webglContextrestored 事件的回调
|
|
41
|
-
* @override
|
|
42
|
-
* @param restoreHandler
|
|
43
|
-
*/
|
|
44
|
-
addRestoreHandler(restoreHandler: RestoreHandler): void;
|
|
45
32
|
/**
|
|
46
33
|
* @override
|
|
47
34
|
* @param e
|
|
@@ -61,5 +48,5 @@ export declare class Renderer implements LostHandler, RestoreHandler {
|
|
|
61
48
|
renderMeshes(meshes: RendererComponent[]): void;
|
|
62
49
|
drawGeometry(geometry: Geometry, matrix: Matrix4, material: Material, subMeshIndex?: number): void;
|
|
63
50
|
getTemporaryRT(name: string, width: number, height: number, depthBuffer: number, filter: FilterMode, format: RenderTextureFormat): Framebuffer | null;
|
|
64
|
-
dispose(
|
|
51
|
+
dispose(): void;
|
|
65
52
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Composition } from './composition';
|
|
2
|
+
import type { Engine } from './engine';
|
|
3
|
+
import type { Scene, SceneLoadOptions } from './scene';
|
|
4
|
+
export declare class SceneLoader {
|
|
5
|
+
static load(scene: Scene.LoadType, engine: Engine, options?: SceneLoadOptions): Promise<Composition>;
|
|
6
|
+
private static createComposition;
|
|
7
|
+
}
|
package/dist/texture/index.d.ts
CHANGED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { Texture2DSourceOptions } from './types';
|
|
2
|
+
import type { GPUCapability } from '../render/gpu-capability';
|
|
3
|
+
export interface TextureLoader {
|
|
4
|
+
/**
|
|
5
|
+
* 从 ArrayBuffer 加载纹理
|
|
6
|
+
*/
|
|
7
|
+
loadFromBuffer(arrBuffer: ArrayBuffer, gpuCapability?: GPUCapability): Promise<Texture2DSourceOptions>;
|
|
8
|
+
/**
|
|
9
|
+
* 从 URL 加载纹理
|
|
10
|
+
*/
|
|
11
|
+
loadFromURL(url: string, gpuCapability?: GPUCapability): Promise<Texture2DSourceOptions>;
|
|
12
|
+
/**
|
|
13
|
+
* 释放资源
|
|
14
|
+
*/
|
|
15
|
+
dispose(): void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 纹理加载器工厂类型
|
|
19
|
+
*/
|
|
20
|
+
export type TextureLoaderFactory = () => TextureLoader;
|
|
21
|
+
/**
|
|
22
|
+
* 纹理加载器注册表
|
|
23
|
+
*/
|
|
24
|
+
declare class TextureLoaderRegistry {
|
|
25
|
+
private loaders;
|
|
26
|
+
private instances;
|
|
27
|
+
/**
|
|
28
|
+
* 注册纹理加载器
|
|
29
|
+
* @param type - 加载器类型(如 'ktx2', 'hdr')
|
|
30
|
+
* @param factory - 加载器工厂函数
|
|
31
|
+
*/
|
|
32
|
+
register(type: string, factory: TextureLoaderFactory): void;
|
|
33
|
+
/**
|
|
34
|
+
* 注销纹理加载器
|
|
35
|
+
* @param type - 加载器类型
|
|
36
|
+
*/
|
|
37
|
+
unregister(type: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* 获取纹理加载器实例(单例)
|
|
40
|
+
* @param type - 加载器类型
|
|
41
|
+
*/
|
|
42
|
+
getLoader(type: string): TextureLoader | null;
|
|
43
|
+
/**
|
|
44
|
+
* 检查是否已注册某类型加载器
|
|
45
|
+
*/
|
|
46
|
+
has(type: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* 获取所有已注册的加载器类型
|
|
49
|
+
*/
|
|
50
|
+
getRegisteredTypes(): string[];
|
|
51
|
+
/**
|
|
52
|
+
* 清理所有加载器
|
|
53
|
+
*/
|
|
54
|
+
dispose(): void;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 全局纹理加载器注册表实例
|
|
58
|
+
*/
|
|
59
|
+
export declare const textureLoaderRegistry: TextureLoaderRegistry;
|
|
60
|
+
export {};
|
package/dist/transform.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface TransformProps {
|
|
|
13
13
|
valid?: boolean;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* 变换组件,用于描述元素的位置、旋转、缩放等信息
|
|
17
17
|
*/
|
|
18
18
|
export declare class Transform implements Disposable {
|
|
19
19
|
/**
|
|
@@ -204,6 +204,13 @@ export declare class Transform implements Disposable {
|
|
|
204
204
|
* @returns
|
|
205
205
|
*/
|
|
206
206
|
getWorldPosition(): Vector3;
|
|
207
|
+
/**
|
|
208
|
+
* 设置世界坐标位置
|
|
209
|
+
* @param x - 世界坐标 x
|
|
210
|
+
* @param y - 世界坐标 y
|
|
211
|
+
* @param z - 世界坐标 z
|
|
212
|
+
*/
|
|
213
|
+
setWorldPosition(x: number, y: number, z: number): void;
|
|
207
214
|
/**
|
|
208
215
|
* 获取联合变换后的最终旋转量
|
|
209
216
|
* @returns
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -79,6 +79,7 @@ export declare function isObject(obj: unknown): obj is Record<string | symbol, u
|
|
|
79
79
|
*/
|
|
80
80
|
export declare function isPlainObject(obj: unknown): obj is Record<string | symbol, unknown>;
|
|
81
81
|
export declare function isCanvas(canvas: HTMLCanvasElement): boolean;
|
|
82
|
+
export declare function isPowerOfTwo(value: number): boolean;
|
|
82
83
|
/**
|
|
83
84
|
* 生成一个位于 min 和 max 之间的随机数
|
|
84
85
|
* @param min
|
package/dist/vfx-item.d.ts
CHANGED
|
@@ -238,17 +238,24 @@ export declare class VFXItem extends EffectsObject implements Disposable {
|
|
|
238
238
|
*/
|
|
239
239
|
setPositionByPixel(x: number, y: number): void;
|
|
240
240
|
/**
|
|
241
|
-
*
|
|
241
|
+
* 设置本地坐标位置
|
|
242
242
|
*/
|
|
243
243
|
setPosition(x: number, y: number, z: number): void;
|
|
244
244
|
/**
|
|
245
|
-
*
|
|
245
|
+
* 设置本地坐标欧拉旋转
|
|
246
246
|
*/
|
|
247
247
|
setRotation(x: number, y: number, z: number): void;
|
|
248
248
|
/**
|
|
249
|
-
*
|
|
249
|
+
* 设置本地坐标缩放
|
|
250
250
|
*/
|
|
251
251
|
setScale(x: number, y: number, z: number): void;
|
|
252
|
+
/**
|
|
253
|
+
* 设置世界坐标位置
|
|
254
|
+
* @param x - 世界坐标 x
|
|
255
|
+
* @param y - 世界坐标 y
|
|
256
|
+
* @param z - 世界坐标 z
|
|
257
|
+
*/
|
|
258
|
+
setWorldPosition(x: number, y: number, z: number): void;
|
|
252
259
|
/**
|
|
253
260
|
* 获取元素包围盒
|
|
254
261
|
* @override
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galacean/effects-core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0-alpha.0",
|
|
4
4
|
"description": "Galacean Effects runtime core for the web",
|
|
5
5
|
"module": "./dist/index.mjs",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"registry": "https://registry.npmjs.org"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@galacean/effects-specification": "2.
|
|
45
|
+
"@galacean/effects-specification": "2.7.0-alpha.0",
|
|
46
46
|
"@galacean/effects-math": "1.1.0",
|
|
47
47
|
"flatbuffers": "24.3.25",
|
|
48
48
|
"uuid": "9.0.1",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Texture2DSourceOptionsCompressed, TextureDataType } from './types';
|
|
2
|
-
export declare class KTXTexture {
|
|
3
|
-
private readonly arrayBuffer;
|
|
4
|
-
private readonly baseOffset;
|
|
5
|
-
glType: number;
|
|
6
|
-
glTypeSize: number;
|
|
7
|
-
glFormat: number;
|
|
8
|
-
glInternalFormat: number;
|
|
9
|
-
glBaseInternalFormat: number;
|
|
10
|
-
pixelWidth: number;
|
|
11
|
-
pixelHeight: number;
|
|
12
|
-
loadType: number;
|
|
13
|
-
pixelDepth: number;
|
|
14
|
-
numberOfArrayElements: number;
|
|
15
|
-
numberOfFaces: number;
|
|
16
|
-
numberOfMipmapLevels: number;
|
|
17
|
-
bytesOfKeyValueData: number;
|
|
18
|
-
constructor(arrayBuffer: ArrayBuffer, facesExpected: number, baseOffset?: number);
|
|
19
|
-
mipmaps(loadMipmaps: boolean): TextureDataType[];
|
|
20
|
-
}
|
|
21
|
-
export declare function getKTXTextureOptions(data: ArrayBuffer): Texture2DSourceOptionsCompressed;
|