@galacean/effects-core 2.9.0-alpha.2 → 2.9.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/animation/animation-events.d.ts +3 -5
- package/dist/components/base-render-component.d.ts +6 -1
- package/dist/components/component.d.ts +2 -1
- package/dist/components/composition-component.d.ts +1 -1
- package/dist/components/frame-component.d.ts +6 -1
- package/dist/components/mesh-component.d.ts +6 -1
- package/dist/composition.d.ts +15 -25
- package/dist/engine.d.ts +49 -2
- package/dist/index.js +2729 -1603
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2719 -1603
- package/dist/index.mjs.map +1 -1
- package/dist/material/index.d.ts +1 -0
- package/dist/material/material-state.d.ts +50 -0
- package/dist/material/material.d.ts +109 -285
- package/dist/math/index.d.ts +1 -0
- package/dist/plugin-system.d.ts +1 -1
- package/dist/plugins/camera/camera-controller-node.d.ts +5 -2
- package/dist/plugins/interact/interact-item.d.ts +1 -1
- package/dist/plugins/particle/particle-mesh.d.ts +0 -1
- package/dist/plugins/particle/particle-system-renderer.d.ts +3 -3
- package/dist/plugins/particle/particle-system.d.ts +6 -23
- package/dist/plugins/particle/trail-mesh.d.ts +1 -2
- package/dist/plugins/plugin.d.ts +1 -1
- package/dist/plugins/text/text-component-base.d.ts +1 -1
- package/dist/plugins/text/text-layout.d.ts +7 -0
- package/dist/plugins/timeline/track.d.ts +1 -1
- package/dist/plugins/timeline/tracks/property-track.d.ts +2 -2
- package/dist/render/renderer.d.ts +15 -23
- package/dist/render/shader.d.ts +19 -0
- package/dist/scene-loader.d.ts +2 -0
- package/dist/texture/texture.d.ts +1 -1
- package/package.json +2 -2
package/dist/material/index.d.ts
CHANGED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Engine } from '../engine';
|
|
2
|
+
export declare class MaterialState {
|
|
3
|
+
blending: boolean;
|
|
4
|
+
blendFunctionParameters: [blendSrc: number, blendDst: number, blendSrcAlpha: number, blendDstAlpha: number];
|
|
5
|
+
blendEquationParameters: [blendEquationRGB: number, blendEquationAlpha: number];
|
|
6
|
+
blendColor: [r: number, g: number, b: number, a: number];
|
|
7
|
+
depthTest: boolean;
|
|
8
|
+
depthMask: boolean;
|
|
9
|
+
depthRange: [zNear: number, zFar: number];
|
|
10
|
+
depthFunc: number;
|
|
11
|
+
polygonOffset: [factor: number, units: number];
|
|
12
|
+
polygonOffsetFill: boolean;
|
|
13
|
+
sampleAlphaToCoverage: boolean;
|
|
14
|
+
colorMask: [r: boolean, g: boolean, b: boolean, a: boolean];
|
|
15
|
+
stencilTest: boolean;
|
|
16
|
+
stencilMask: [front: number, back: number];
|
|
17
|
+
stencilRef: [front: number, back: number];
|
|
18
|
+
stencilFunc: [front: number, back: number];
|
|
19
|
+
stencilOpFail: [front: number, back: number];
|
|
20
|
+
stencilOpZFail: [front: number, back: number];
|
|
21
|
+
stencilOpZPass: [front: number, back: number];
|
|
22
|
+
culling: boolean;
|
|
23
|
+
frontFace: number;
|
|
24
|
+
cullFace: number;
|
|
25
|
+
constructor();
|
|
26
|
+
setBlendColor(color: [r: number, g: number, b: number, a: number]): void;
|
|
27
|
+
setBlending(value: boolean): void;
|
|
28
|
+
setBlendFunctionParameters(value: [blendSrc: number, blendDst: number, blendSrcAlpha: number, blendDstAlpha: number]): void;
|
|
29
|
+
setBlendEquationParameters(value: [rgb: number, alpha: number]): void;
|
|
30
|
+
setDepthTest(value: boolean): void;
|
|
31
|
+
setDepthMask(value: boolean): void;
|
|
32
|
+
setDepthRange(value: [zNear: number, zFar: number]): void;
|
|
33
|
+
setDepthFunc(value: number): void;
|
|
34
|
+
setPolygonOffsetFill(value: boolean): void;
|
|
35
|
+
setPolygonOffset(value: [factor: number, units: number]): void;
|
|
36
|
+
setSampleAlphaToCoverage(value: boolean): void;
|
|
37
|
+
setColorMask(colorMask: boolean): void;
|
|
38
|
+
setStencilTest(value: boolean): void;
|
|
39
|
+
setStencilMask(value: [front: number, back: number]): void;
|
|
40
|
+
setStencilRef(value: [front: number, back: number]): void;
|
|
41
|
+
setStencilFunc(value: [front: number, back: number]): void;
|
|
42
|
+
setStencilOpFail(value: [front: number, back: number]): void;
|
|
43
|
+
setStencilOpZFail(value: [front: number, back: number]): void;
|
|
44
|
+
setStencilOpZPass(value: [front: number, back: number]): void;
|
|
45
|
+
setCulling(value: boolean): void;
|
|
46
|
+
setFrontFace(value: number): void;
|
|
47
|
+
setCullFace(value: number): void;
|
|
48
|
+
reset(): void;
|
|
49
|
+
apply(engine: Engine): void;
|
|
50
|
+
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import * as spec from '@galacean/effects-specification';
|
|
2
|
+
import type { Color, Matrix3, Quaternion, Vector2, Vector3 } from '@galacean/effects-math/es/core/index';
|
|
3
|
+
import { Vector4, Matrix4 } from '@galacean/effects-math/es/core/index';
|
|
4
|
+
import type { GlobalUniforms, Renderer, ShaderVariant, ShaderWithSource } from '../render';
|
|
5
|
+
import { Shader } from '../render/shader';
|
|
3
6
|
import type { Texture } from '../texture';
|
|
4
7
|
import type { DestroyOptions, Disposable } from '../utils';
|
|
5
8
|
import type { UniformValue } from './types';
|
|
6
9
|
import type { Engine } from '../engine';
|
|
7
10
|
import { EffectsObject } from '../effects-object';
|
|
11
|
+
import { MaterialState } from './material-state';
|
|
8
12
|
/**
|
|
9
13
|
* 材质销毁设置
|
|
10
14
|
*/
|
|
@@ -44,9 +48,9 @@ export interface MaterialProps {
|
|
|
44
48
|
uniformValues?: Record<string, UniformValue>;
|
|
45
49
|
}
|
|
46
50
|
/**
|
|
47
|
-
* Material
|
|
51
|
+
* Material 类
|
|
48
52
|
*/
|
|
49
|
-
export declare
|
|
53
|
+
export declare class Material extends EffectsObject implements Disposable {
|
|
50
54
|
shaderVariant: ShaderVariant;
|
|
51
55
|
shaderSource: ShaderWithSource;
|
|
52
56
|
stringTags: Record<string, string>;
|
|
@@ -58,10 +62,24 @@ export declare abstract class Material extends EffectsObject implements Disposab
|
|
|
58
62
|
protected initialized: boolean;
|
|
59
63
|
protected shaderDirty: boolean;
|
|
60
64
|
private _shader;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
protected floats: Record<string, number>;
|
|
66
|
+
protected ints: Record<string, number>;
|
|
67
|
+
protected vector2s: Record<string, Vector2>;
|
|
68
|
+
protected vector3s: Record<string, Vector3>;
|
|
69
|
+
protected vector4s: Record<string, Vector4>;
|
|
70
|
+
protected colors: Record<string, Color>;
|
|
71
|
+
protected quaternions: Record<string, Quaternion>;
|
|
72
|
+
protected matrices: Record<string, Matrix4>;
|
|
73
|
+
protected matrice3s: Record<string, Matrix3>;
|
|
74
|
+
protected textures: Record<string, Texture>;
|
|
75
|
+
protected floatArrays: Record<string, number[]>;
|
|
76
|
+
protected vector4Arrays: Record<string, number[]>;
|
|
77
|
+
protected matrixArrays: Record<string, number[]>;
|
|
78
|
+
protected samplers: string[];
|
|
79
|
+
protected uniforms: string[];
|
|
80
|
+
protected uniformDirty: boolean;
|
|
81
|
+
protected macrosDirty: boolean;
|
|
82
|
+
protected materialState: MaterialState;
|
|
65
83
|
constructor(engine: Engine, props?: MaterialProps);
|
|
66
84
|
get shader(): Shader;
|
|
67
85
|
set shader(value: Shader);
|
|
@@ -75,294 +93,100 @@ export declare abstract class Material extends EffectsObject implements Disposab
|
|
|
75
93
|
*/
|
|
76
94
|
get color(): Color;
|
|
77
95
|
set color(value: Color);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
* 设置 Material 的颜色融合开关
|
|
81
|
-
* @param blending - 是否开启混合效果
|
|
82
|
-
*/
|
|
96
|
+
/*** 渲染状态 getter/setter ***/
|
|
97
|
+
get blending(): UndefinedAble<boolean>;
|
|
83
98
|
set blending(blending: UndefinedAble<boolean>);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
*/
|
|
99
|
+
get blendColor(): UndefinedAble<[r: number, g: number, b: number, a: number]>;
|
|
100
|
+
set blendColor(color: UndefinedAble<[r: number, g: number, b: number, a: number]>);
|
|
101
|
+
get blendFunction(): UndefinedAble<[blendSrc: number, blendDst: number, blendSrcAlpha: number, blendDstAlpha: number]>;
|
|
88
102
|
set blendFunction(func: UndefinedAble<[blendSrc: number, blendDst: number, blendSrcAlpha: number, blendDstAlpha: number]>);
|
|
89
|
-
|
|
90
|
-
* 分别指定 Material 的颜色混合方式
|
|
91
|
-
* @param equation - 混合方程参数
|
|
92
|
-
*/
|
|
103
|
+
get blendEquation(): UndefinedAble<[rgb: number, alpha: number]>;
|
|
93
104
|
set blendEquation(equation: UndefinedAble<[rgb: number, alpha: number]>);
|
|
94
|
-
|
|
95
|
-
* 设置 Material 的深度测试开关
|
|
96
|
-
* @param value - 是否开启深度测试
|
|
97
|
-
*/
|
|
105
|
+
get depthTest(): UndefinedAble<boolean>;
|
|
98
106
|
set depthTest(value: UndefinedAble<boolean>);
|
|
99
|
-
|
|
100
|
-
* 设置 Material 的写入深度缓冲开关
|
|
101
|
-
* @param value - 是否开启深度写入
|
|
102
|
-
*/
|
|
107
|
+
get depthMask(): UndefinedAble<boolean>;
|
|
103
108
|
set depthMask(value: UndefinedAble<boolean>);
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
109
|
+
get depthRange(): UndefinedAble<[number, number]>;
|
|
110
|
+
set depthRange(value: UndefinedAble<[number, number]>);
|
|
111
|
+
get depthFunc(): UndefinedAble<number>;
|
|
112
|
+
set depthFunc(value: UndefinedAble<number>);
|
|
113
|
+
get polygonOffsetFill(): UndefinedAble<boolean>;
|
|
114
|
+
set polygonOffsetFill(value: UndefinedAble<boolean>);
|
|
115
|
+
get polygonOffset(): UndefinedAble<[number, number]>;
|
|
116
|
+
set polygonOffset(value: UndefinedAble<[number, number]>);
|
|
117
|
+
get sampleAlphaToCoverage(): UndefinedAble<boolean>;
|
|
118
|
+
set sampleAlphaToCoverage(value: UndefinedAble<boolean>);
|
|
119
|
+
get colorMask(): boolean;
|
|
120
|
+
set colorMask(value: boolean);
|
|
121
|
+
get stencilTest(): UndefinedAble<boolean>;
|
|
108
122
|
set stencilTest(value: UndefinedAble<boolean>);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
set
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
*/
|
|
123
|
-
set stencilOpZPass(value: UndefinedAble<[front: number, back: number]>);
|
|
124
|
-
/**
|
|
125
|
-
* 设置 Material 的正反面剔除开关
|
|
126
|
-
* @param value - 是否开启剔除
|
|
127
|
-
*/
|
|
123
|
+
get stencilMask(): UndefinedAble<[number, number]>;
|
|
124
|
+
set stencilMask(value: UndefinedAble<[number, number]>);
|
|
125
|
+
get stencilRef(): UndefinedAble<[number, number]>;
|
|
126
|
+
set stencilRef(value: UndefinedAble<[number, number]>);
|
|
127
|
+
get stencilFunc(): UndefinedAble<[number, number]>;
|
|
128
|
+
set stencilFunc(value: UndefinedAble<[number, number]>);
|
|
129
|
+
get stencilOpFail(): UndefinedAble<[number, number]>;
|
|
130
|
+
set stencilOpFail(value: UndefinedAble<[number, number]>);
|
|
131
|
+
get stencilOpZFail(): UndefinedAble<[number, number]>;
|
|
132
|
+
set stencilOpZFail(value: UndefinedAble<[number, number]>);
|
|
133
|
+
get stencilOpZPass(): UndefinedAble<[number, number]>;
|
|
134
|
+
set stencilOpZPass(value: UndefinedAble<[number, number]>);
|
|
135
|
+
get culling(): UndefinedAble<boolean>;
|
|
128
136
|
set culling(value: UndefinedAble<boolean>);
|
|
129
|
-
|
|
130
|
-
* 设置 Material 的正反面计算方向
|
|
131
|
-
* @param value
|
|
132
|
-
*/
|
|
137
|
+
get frontFace(): UndefinedAble<number>;
|
|
133
138
|
set frontFace(value: UndefinedAble<number>);
|
|
134
|
-
|
|
135
|
-
* 设置 Material 要剔除的面
|
|
136
|
-
* @param value - 剔除面参数
|
|
137
|
-
*/
|
|
139
|
+
get cullFace(): UndefinedAble<number>;
|
|
138
140
|
set cullFace(value: UndefinedAble<number>);
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
* @param value - 模板测试写入掩码参数
|
|
184
|
-
*/
|
|
185
|
-
set stencilMask(value: UndefinedAble<[front: number, back: number]>);
|
|
186
|
-
/**
|
|
187
|
-
* 分别指定 Material 模板测试失败时要使用的函数
|
|
188
|
-
* @param value - 模板测试失败时的操作参数
|
|
189
|
-
*/
|
|
190
|
-
set stencilOpFail(value: UndefinedAble<[front: number, back: number]>);
|
|
191
|
-
/**
|
|
192
|
-
* 分别指定 Material 模板测试通过但深度测试失败时要使用的函数
|
|
193
|
-
* @param value - 模板测试深度测试失败时的操作参数
|
|
194
|
-
*/
|
|
195
|
-
set stencilOpZFail(value: UndefinedAble<[front: number, back: number]>);
|
|
196
|
-
/***************************************************/
|
|
197
|
-
/**
|
|
198
|
-
* 获取 Material 的 float 类型的 uniform 数据
|
|
199
|
-
* @param name
|
|
200
|
-
*/
|
|
201
|
-
abstract getFloat(name: string): number | null;
|
|
202
|
-
/**
|
|
203
|
-
* 设置 float 类型的 uniform 数据
|
|
204
|
-
* @param name - uniform 名称
|
|
205
|
-
* @param value - 要设置的 uniform 数据
|
|
206
|
-
*/
|
|
207
|
-
abstract setFloat(name: string, value: number): void;
|
|
208
|
-
/**
|
|
209
|
-
* 获取 Material 的 float 类型的 uniform 数据
|
|
210
|
-
* @param name
|
|
211
|
-
*/
|
|
212
|
-
abstract getInt(name: string): number | null;
|
|
213
|
-
/**
|
|
214
|
-
* 设置 int 类型的 uniform 的数据
|
|
215
|
-
* @param name - uniform 名称
|
|
216
|
-
* @param value - 要设置的 uniform 数据
|
|
217
|
-
*/
|
|
218
|
-
abstract setInt(name: string, value: number): void;
|
|
219
|
-
/**
|
|
220
|
-
* 获取 Material 的 float 数组类型的 uniform 数据
|
|
221
|
-
* @param name
|
|
222
|
-
*/
|
|
223
|
-
abstract getFloats(name: string): number[] | null;
|
|
224
|
-
/**
|
|
225
|
-
* 设置 float 数组类型的 uniform 的数据
|
|
226
|
-
* @param name - uniform 名称
|
|
227
|
-
* @param value - 要设置的 uniform 数据
|
|
228
|
-
*/
|
|
229
|
-
abstract setFloats(name: string, value: number[]): void;
|
|
230
|
-
/**
|
|
231
|
-
* 获取 Material 的 vec2 类型的 uniform 数据
|
|
232
|
-
* @param name
|
|
233
|
-
*/
|
|
234
|
-
abstract getVector2(name: string): Vector2 | null;
|
|
235
|
-
/**
|
|
236
|
-
* 设置 vec2 类型的 uniform 的数据
|
|
237
|
-
* @param name - uniform 名称
|
|
238
|
-
* @param value - 要设置的 uniform 数据
|
|
239
|
-
*/
|
|
240
|
-
abstract setVector2(name: string, value: Vector2): void;
|
|
241
|
-
/**
|
|
242
|
-
* 获取 Material 的 vec3 类型的 uniform 数据
|
|
243
|
-
* @param name
|
|
244
|
-
*/
|
|
245
|
-
abstract getVector3(name: string): Vector3 | null;
|
|
246
|
-
/**
|
|
247
|
-
* 设置 vec3 类型的 uniform 的数据
|
|
248
|
-
* @param name - uniform 名称
|
|
249
|
-
* @param value - 要设置的 uniform 数据
|
|
250
|
-
*/
|
|
251
|
-
abstract setVector3(name: string, value: Vector3): void;
|
|
252
|
-
/**
|
|
253
|
-
* 获取 Material 的 vec4 类型的 uniform 数据
|
|
254
|
-
* @param name
|
|
255
|
-
*/
|
|
256
|
-
abstract getVector4(name: string): Vector4 | null;
|
|
257
|
-
/**
|
|
258
|
-
* 设置 vec4 类型的 uniform 的数据
|
|
259
|
-
* @param name - uniform 名称
|
|
260
|
-
* @param value - 要设置的 uniform 数据
|
|
261
|
-
*/
|
|
262
|
-
abstract setVector4(name: string, value: Vector4): void;
|
|
263
|
-
/**
|
|
264
|
-
* 获取 Material 的 Color 类型的 uniform 数据
|
|
265
|
-
* @param name
|
|
266
|
-
*/
|
|
267
|
-
abstract getColor(name: string): Color | null;
|
|
268
|
-
/**
|
|
269
|
-
* 设置 Color 类型的 uniform 的数据
|
|
270
|
-
* @param name - uniform 名称
|
|
271
|
-
* @param value - 要设置的 uniform 数据
|
|
272
|
-
*/
|
|
273
|
-
abstract setColor(name: string, value: Color): void;
|
|
274
|
-
/**
|
|
275
|
-
* 获取 Material 的 Quaternion 类型的 uniform 数据
|
|
276
|
-
* @param name
|
|
277
|
-
*/
|
|
278
|
-
abstract getQuaternion(name: string): Quaternion | null;
|
|
279
|
-
/**
|
|
280
|
-
* 设置 Quaternion 类型的 uniform 的数据
|
|
281
|
-
* @param name - uniform 名称
|
|
282
|
-
* @param value - 要设置的 uniform 数据
|
|
283
|
-
*/
|
|
284
|
-
abstract setQuaternion(name: string, value: Quaternion): void;
|
|
285
|
-
/**
|
|
286
|
-
* 获取 Material 的 vec4 数组类型的 uniform 数据
|
|
287
|
-
* @param name
|
|
288
|
-
*/
|
|
289
|
-
abstract getVector4Array(name: string): number[];
|
|
290
|
-
/**
|
|
291
|
-
* 设置 vec4 数组类型的 uniform 的数据
|
|
292
|
-
* @param name - uniform 名称
|
|
293
|
-
* @param value - 要设置的 uniform 数据
|
|
294
|
-
*/
|
|
295
|
-
abstract setVector4Array(name: string, value: Vector4[]): void;
|
|
296
|
-
/**
|
|
297
|
-
* 获取 Material 的 mat4 类型的 uniform 数据
|
|
298
|
-
* @param name
|
|
299
|
-
*/
|
|
300
|
-
abstract getMatrix(name: string): Matrix4 | null;
|
|
301
|
-
/**
|
|
302
|
-
* 设置 mat4 类型的 uniform 的数据
|
|
303
|
-
* @param name - uniform 名称
|
|
304
|
-
* @param value - 要设置的 uniform 数据
|
|
305
|
-
*/
|
|
306
|
-
abstract setMatrix(name: string, value: Matrix4): void;
|
|
307
|
-
/**
|
|
308
|
-
* 设置 mat3 类型的 uniform 的数据
|
|
309
|
-
* @param name - uniform 名称
|
|
310
|
-
* @param value - 要设置的 uniform 数据
|
|
311
|
-
*/
|
|
312
|
-
abstract setMatrix3(name: string, value: Matrix3): void;
|
|
313
|
-
/**
|
|
314
|
-
* 获取 Material 的 mat4 数组类型的 uniform 数据
|
|
315
|
-
* @param name
|
|
316
|
-
*/
|
|
317
|
-
abstract getMatrixArray(name: string): number[] | null;
|
|
318
|
-
/**
|
|
319
|
-
* 设置 mat 数组类型的 uniform 的数据
|
|
320
|
-
* @param name - uniform 名称
|
|
321
|
-
* @param array - 要设置的 uniform 数据
|
|
322
|
-
*/
|
|
323
|
-
abstract setMatrixArray(name: string, array: Matrix4[]): void;
|
|
324
|
-
/**
|
|
325
|
-
* 设置 mat 数组类型的 uniform 的数据,传入 number 数组
|
|
326
|
-
* @param name - uniform 名称
|
|
327
|
-
* @param array - 要设置的 uniform 数据,number 类型数组
|
|
328
|
-
*/
|
|
329
|
-
abstract setMatrixNumberArray(name: string, array: number[]): void;
|
|
330
|
-
/**
|
|
331
|
-
* 获取 Material 的 sampler2D 类型的 uniform 数据
|
|
332
|
-
* @param name
|
|
333
|
-
*/
|
|
334
|
-
abstract getTexture(name: string): Texture | null;
|
|
335
|
-
/**
|
|
336
|
-
* 设置 sampler2D 类型的 uniform 的数据
|
|
337
|
-
* @param name - uniform 名称
|
|
338
|
-
* @param texture - 要设置的 uniform 数据
|
|
339
|
-
*/
|
|
340
|
-
abstract setTexture(name: string, texture: Texture): void;
|
|
341
|
-
/**
|
|
342
|
-
* 获取 Material 的 float 类型的 uniform 数据
|
|
343
|
-
* @param name
|
|
344
|
-
*/
|
|
345
|
-
abstract hasUniform(name: string): boolean;
|
|
346
|
-
/******** 预留接口,暂时不用实现 ***********************/
|
|
347
|
-
abstract enableMacro(keyword: string, value?: boolean | number): void;
|
|
348
|
-
abstract disableMacro(keyword: string): void;
|
|
349
|
-
abstract isMacroEnabled(keyword: string): boolean;
|
|
350
|
-
/***************************************************/
|
|
351
|
-
/**
|
|
352
|
-
* Material 的克隆方法(不接入滤镜,本方法可以不做实现)
|
|
353
|
-
* @param props 新的材质属性
|
|
354
|
-
*/
|
|
355
|
-
abstract clone(props?: MaterialProps): Material;
|
|
356
|
-
abstract cloneUniforms(sourceMaterial: Material): void;
|
|
141
|
+
/*** Macro 管理 ***/
|
|
142
|
+
enableMacro(keyword: string, value?: boolean | number): void;
|
|
143
|
+
disableMacro(keyword: string): void;
|
|
144
|
+
isMacroEnabled(keyword: string): boolean;
|
|
145
|
+
get isDestroyed(): boolean;
|
|
146
|
+
/*** GPU 资源初始化 ***/
|
|
147
|
+
initialize(): void;
|
|
148
|
+
createShaderVariant(): void;
|
|
149
|
+
setupStates(engine: Engine): void;
|
|
150
|
+
use(renderer: Renderer, globalUniforms?: GlobalUniforms): void;
|
|
151
|
+
/*** Uniform get/set 方法 ***/
|
|
152
|
+
getFloat(name: string): number | null;
|
|
153
|
+
setFloat(name: string, value: number): void;
|
|
154
|
+
getInt(name: string): number | null;
|
|
155
|
+
setInt(name: string, value: number): void;
|
|
156
|
+
getFloats(name: string): number[] | null;
|
|
157
|
+
setFloats(name: string, value: number[]): void;
|
|
158
|
+
getVector2(name: string): Vector2 | null;
|
|
159
|
+
setVector2(name: string, value: Vector2): void;
|
|
160
|
+
getVector3(name: string): Vector3 | null;
|
|
161
|
+
setVector3(name: string, value: Vector3): void;
|
|
162
|
+
getVector4(name: string): Vector4 | null;
|
|
163
|
+
setVector4(name: string, value: Vector4): void;
|
|
164
|
+
getColor(name: string): Color | null;
|
|
165
|
+
setColor(name: string, value: Color): void;
|
|
166
|
+
getQuaternion(name: string): Quaternion | null;
|
|
167
|
+
setQuaternion(name: string, value: Quaternion): void;
|
|
168
|
+
getMatrix(name: string): Matrix4 | null;
|
|
169
|
+
setMatrix(name: string, value: Matrix4): void;
|
|
170
|
+
setMatrix3(name: string, value: Matrix3): void;
|
|
171
|
+
getVector4Array(name: string): number[];
|
|
172
|
+
setVector4Array(name: string, array: Vector4[]): void;
|
|
173
|
+
getMatrixArray(name: string): number[] | null;
|
|
174
|
+
setMatrixArray(name: string, array: Matrix4[]): void;
|
|
175
|
+
setMatrixNumberArray(name: string, array: number[]): void;
|
|
176
|
+
getTexture(name: string): Texture | null;
|
|
177
|
+
setTexture(name: string, texture: Texture): void;
|
|
178
|
+
hasUniform(name: string): boolean;
|
|
179
|
+
/*** 克隆 ***/
|
|
180
|
+
clone(props?: MaterialProps): Material;
|
|
181
|
+
cloneUniforms(sourceMaterial: Material): void;
|
|
182
|
+
/*** 序列化 ***/
|
|
183
|
+
fromData(data: spec.MaterialData): void;
|
|
184
|
+
toData(): spec.MaterialData;
|
|
357
185
|
/**
|
|
358
186
|
* 创建 Material
|
|
359
187
|
*/
|
|
360
188
|
static create: (engine: Engine, props?: MaterialProps) => Material;
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
*/
|
|
365
|
-
initialize(): void;
|
|
366
|
-
createShaderVariant(): void;
|
|
367
|
-
use(render: Renderer, globalUniforms: GlobalUniforms): void;
|
|
189
|
+
/*** 内部方法 ***/
|
|
190
|
+
private checkUniform;
|
|
191
|
+
dispose(): void;
|
|
368
192
|
}
|
package/dist/math/index.d.ts
CHANGED
package/dist/plugin-system.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export declare function registerPlugin(name: string, pluginClass: PluginConstruc
|
|
|
17
17
|
export declare function unregisterPlugin(name: string): void;
|
|
18
18
|
export declare class PluginSystem {
|
|
19
19
|
static getPlugins(): Plugin[];
|
|
20
|
-
static initializeComposition(composition: Composition, scene
|
|
20
|
+
static initializeComposition(composition: Composition, scene?: Scene): void;
|
|
21
21
|
static destroyComposition(comp: Composition): void;
|
|
22
22
|
static onAssetsLoadStart(scene: Scene, options?: SceneLoadOptions): Promise<void[]>;
|
|
23
23
|
static onAssetsLoadFinish(scene: Scene, options: SceneLoadOptions, engine: Engine): void;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import * as spec from '@galacean/effects-specification';
|
|
2
2
|
import { Component } from '../../components';
|
|
3
3
|
import type { Engine } from '../../engine';
|
|
4
|
+
interface CameraControllerData extends spec.ComponentData, spec.CameraContent {
|
|
5
|
+
}
|
|
4
6
|
export declare class CameraController extends Component {
|
|
5
7
|
private options;
|
|
6
|
-
constructor(engine: Engine, props?:
|
|
8
|
+
constructor(engine: Engine, props?: CameraControllerData);
|
|
7
9
|
onUpdate(): void;
|
|
8
|
-
fromData(data:
|
|
10
|
+
fromData(data: CameraControllerData): void;
|
|
9
11
|
}
|
|
12
|
+
export {};
|
|
@@ -88,7 +88,7 @@ export declare class InteractComponent extends RendererComponent {
|
|
|
88
88
|
beginDragTarget(options: spec.DragInteractOption, eventSystem: EventSystem): void;
|
|
89
89
|
getHitTestParams: (force?: boolean) => HitTestTriangleParams | void;
|
|
90
90
|
getBoundingBox(): BoundingBoxTriangle | void;
|
|
91
|
-
fromData(data: spec.
|
|
91
|
+
fromData(data: spec.InteractComponentData): void;
|
|
92
92
|
/**
|
|
93
93
|
* 是否可以交互
|
|
94
94
|
* @returns
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Matrix4 } from '@galacean/effects-math/es/core/matrix4';
|
|
2
2
|
import type { Vector3 } from '@galacean/effects-math/es/core/vector3';
|
|
3
3
|
import type { Texture } from '../../texture';
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
4
|
+
import type { TrailPointOptions } from './trail-mesh';
|
|
5
|
+
import type { Point } from './particle-mesh';
|
|
6
6
|
import { ParticleMesh } from './particle-mesh';
|
|
7
7
|
import type { Mesh, Renderer } from '../../render';
|
|
8
8
|
import type { Engine } from '../../engine';
|
|
@@ -14,7 +14,7 @@ export declare class ParticleSystemRenderer extends RendererComponent {
|
|
|
14
14
|
meshes: Mesh[];
|
|
15
15
|
particleMesh: ParticleMesh;
|
|
16
16
|
private trailMesh?;
|
|
17
|
-
constructor(engine: Engine
|
|
17
|
+
constructor(engine: Engine);
|
|
18
18
|
onStart(): void;
|
|
19
19
|
onUpdate(dt: number): void;
|
|
20
20
|
render(renderer: Renderer): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Ray } from '@galacean/effects-math/es/core/index';
|
|
2
2
|
import { Vector3 } from '@galacean/effects-math/es/core/index';
|
|
3
|
-
import type {
|
|
3
|
+
import type { vec3 } from '@galacean/effects-specification';
|
|
4
4
|
import * as spec from '@galacean/effects-specification';
|
|
5
5
|
import { Component } from '../../components';
|
|
6
6
|
import type { Engine } from '../../engine';
|
|
@@ -94,7 +94,6 @@ type TrailOptions = {
|
|
|
94
94
|
blending: number;
|
|
95
95
|
occlusion: boolean;
|
|
96
96
|
transparentOcclusion: boolean;
|
|
97
|
-
textureMap?: vec4;
|
|
98
97
|
};
|
|
99
98
|
interface ParticleTextureSheetAnimation {
|
|
100
99
|
col: number;
|
|
@@ -112,24 +111,7 @@ type ParticleInteraction = {
|
|
|
112
111
|
multiple?: boolean;
|
|
113
112
|
radius: number;
|
|
114
113
|
};
|
|
115
|
-
export interface
|
|
116
|
-
meshSlots?: number[];
|
|
117
|
-
}
|
|
118
|
-
export interface ParticleSystemProps extends Omit<spec.ParticleContent, 'options' | 'renderer' | 'trails' | 'mask'> {
|
|
119
|
-
options: ParticleSystemOptions;
|
|
120
|
-
renderer: ParticleSystemRendererOptions;
|
|
121
|
-
trails?: ParticleTrailProps;
|
|
122
|
-
mask?: spec.MaskOptions;
|
|
123
|
-
}
|
|
124
|
-
export interface ParticleSystemRendererOptions extends Required<Omit<spec.RendererOptions, 'texture' | 'anchor' | 'particleOrigin'>> {
|
|
125
|
-
texture: Texture;
|
|
126
|
-
anchor?: vec2;
|
|
127
|
-
particleOrigin?: spec.ParticleOrigin;
|
|
128
|
-
}
|
|
129
|
-
export interface ParticleTrailProps extends Omit<spec.ParticleTrail, 'texture' | 'mask'> {
|
|
130
|
-
texture: Texture;
|
|
131
|
-
textureMap: vec4;
|
|
132
|
-
mask?: spec.MaskOptions;
|
|
114
|
+
export interface ParticleSystemProps extends spec.ParticleContent {
|
|
133
115
|
}
|
|
134
116
|
export type ParticleContent = [number, number, number, Point];
|
|
135
117
|
export declare class ParticleSystem extends Component implements Maskable {
|
|
@@ -142,7 +124,6 @@ export declare class ParticleSystem extends Component implements Maskable {
|
|
|
142
124
|
textureSheetAnimation?: ParticleTextureSheetAnimation;
|
|
143
125
|
interaction?: ParticleInteraction;
|
|
144
126
|
emissionStopped: boolean;
|
|
145
|
-
destroyed: boolean;
|
|
146
127
|
props: ParticleSystemProps;
|
|
147
128
|
time: number;
|
|
148
129
|
readonly maskManager: MaskProcessor;
|
|
@@ -157,7 +138,9 @@ export declare class ParticleSystem extends Component implements Maskable {
|
|
|
157
138
|
private uvs;
|
|
158
139
|
private basicTransform;
|
|
159
140
|
private clickedPoint;
|
|
160
|
-
|
|
141
|
+
private particleMeshProps;
|
|
142
|
+
private trailMeshProps;
|
|
143
|
+
constructor(engine: Engine, props?: spec.ParticleSystemData);
|
|
161
144
|
get timePassed(): number;
|
|
162
145
|
get lifetime(): number;
|
|
163
146
|
get particleCount(): number;
|
|
@@ -212,6 +195,6 @@ export declare class ParticleSystem extends Component implements Maskable {
|
|
|
212
195
|
resumeParticleEmission(): void;
|
|
213
196
|
getBoundingBox(): void | BoundingBoxSphere;
|
|
214
197
|
getHitTestParams: (force?: boolean) => void | HitTestCustomParams;
|
|
215
|
-
fromData(data:
|
|
198
|
+
fromData(data: spec.ParticleSystemData): void;
|
|
216
199
|
}
|
|
217
200
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Matrix4 } from '@galacean/effects-math/es/core/index';
|
|
2
2
|
import { Vector3 } from '@galacean/effects-math/es/core/index';
|
|
3
3
|
import type * as spec from '@galacean/effects-specification';
|
|
4
|
-
import type { GradientStop
|
|
4
|
+
import type { GradientStop } from '@galacean/effects-specification';
|
|
5
5
|
import type { Engine } from '../../engine';
|
|
6
6
|
import { ValueGetter } from '../../math';
|
|
7
7
|
import type { GPUCapability, ShaderWithSource } from '../../render';
|
|
@@ -24,7 +24,6 @@ export type TrailMeshProps = {
|
|
|
24
24
|
mask: number;
|
|
25
25
|
shaderCachePrefix: string;
|
|
26
26
|
maskMode: number;
|
|
27
|
-
textureMap: vec4;
|
|
28
27
|
name: string;
|
|
29
28
|
};
|
|
30
29
|
export type TrailPointOptions = {
|
package/dist/plugins/plugin.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export declare abstract class Plugin {
|
|
|
32
32
|
* @param composition - 合成对象
|
|
33
33
|
* @param scene - 场景对象
|
|
34
34
|
*/
|
|
35
|
-
onCompositionCreated(composition: Composition, scene
|
|
35
|
+
onCompositionCreated(composition: Composition, scene?: Scene): void;
|
|
36
36
|
/**
|
|
37
37
|
* 合成销毁时触发。
|
|
38
38
|
* @param composition - 合成对象
|