@galacean/effects-core 2.9.0-alpha.1 → 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 +6 -1
- package/dist/components/composition-component.d.ts +2 -5
- package/dist/components/frame-component.d.ts +6 -1
- package/dist/components/mesh-component.d.ts +6 -1
- package/dist/components/renderer-component.d.ts +8 -1
- package/dist/components/shape-component.d.ts +2 -0
- package/dist/composition.d.ts +15 -25
- package/dist/effects-object.d.ts +1 -1
- package/dist/engine.d.ts +49 -2
- package/dist/index.js +3064 -1835
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3054 -1835
- 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/material/types.d.ts +2 -0
- package/dist/math/index.d.ts +1 -0
- package/dist/math/shape/build-adaptive-bezier.d.ts +1 -1
- package/dist/math/shape/circle.d.ts +1 -1
- package/dist/math/shape/ellipse.d.ts +1 -1
- package/dist/math/shape/graphics-path.d.ts +1 -1
- package/dist/math/shape/poly-star.d.ts +1 -1
- package/dist/math/shape/polygon.d.ts +1 -1
- package/dist/math/shape/rectangle.d.ts +1 -1
- package/dist/math/shape/shape-path.d.ts +1 -1
- package/dist/math/shape/shape-primitive.d.ts +1 -1
- package/dist/math/shape/triangle.d.ts +1 -1
- package/dist/plugin-system.d.ts +1 -1
- package/dist/plugins/camera/camera-controller-node.d.ts +5 -2
- package/dist/plugins/interact/click-handler.d.ts +5 -0
- 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-item.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/scene.d.ts +0 -1
- package/dist/texture/texture.d.ts +1 -1
- package/dist/vfx-item.d.ts +18 -3
- 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/material/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type * as spec from '@galacean/effects-specification';
|
|
|
2
2
|
import type { Matrix3, Matrix4, Vector2, Vector3, Vector4 } from '@galacean/effects-math/es/core/index';
|
|
3
3
|
import type { Texture } from '../texture';
|
|
4
4
|
import type { DestroyOptions } from '../utils';
|
|
5
|
+
import type { VFXItem } from '../vfx-item';
|
|
5
6
|
export type UniformSemantic = 'VIEW' | 'MODEL' | 'MODELVIEW' | 'PROJECTION' | 'VIEWPROJECTION' | 'VIEWINVERSE' | 'EDITOR_TRANSFORM' | 'MODELVIEWPROJECTION';
|
|
6
7
|
export interface MaterialBlendingStates {
|
|
7
8
|
blending?: boolean;
|
|
@@ -63,6 +64,7 @@ export declare enum ShaderType {
|
|
|
63
64
|
*
|
|
64
65
|
*/
|
|
65
66
|
export interface Maskable {
|
|
67
|
+
item: VFXItem;
|
|
66
68
|
drawStencilMask(maskRef: number): void;
|
|
67
69
|
}
|
|
68
70
|
/**
|
package/dist/math/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function buildAdaptiveBezier(points: number[], sX: number, sY: number, cp1x: number, cp1y: number, cp2x: number, cp2y: number, eX: number, eY: number, smoothness?: number): number[];
|
|
1
|
+
export declare function buildAdaptiveBezier(points: number[], sX: number, sY: number, cp1x: number, cp1y: number, cp2x: number, cp2y: number, eX: number, eY: number, smoothness?: number, scale?: number): number[];
|
|
@@ -191,6 +191,6 @@ export declare class Circle extends ShapePrimitive {
|
|
|
191
191
|
* @see {@link Circle.clone} For creating new circle copy
|
|
192
192
|
*/
|
|
193
193
|
copyTo(circle: Circle): Circle;
|
|
194
|
-
build(points: number[]): void;
|
|
194
|
+
build(points: number[], screenScale?: number): void;
|
|
195
195
|
triangulate(points: number[], vertices: number[], verticesOffset: number, indices: number[], indicesOffset: number): void;
|
|
196
196
|
}
|
|
@@ -74,6 +74,6 @@ export declare class Ellipse extends ShapePrimitive {
|
|
|
74
74
|
copyTo(ellipse: Ellipse): Ellipse;
|
|
75
75
|
getX(): number;
|
|
76
76
|
getY(): number;
|
|
77
|
-
build(points: number[]): number[];
|
|
77
|
+
build(points: number[], screenScale?: number): number[];
|
|
78
78
|
triangulate(points: number[], vertices: number[], verticesOffset: number, indices: number[], indicesOffset: number): void;
|
|
79
79
|
}
|
|
@@ -23,7 +23,7 @@ export declare class GraphicsPath {
|
|
|
23
23
|
* @param smoothness - Optional parameter to adjust the smoothness of the curve.
|
|
24
24
|
* @returns The instance of the current object for chaining.
|
|
25
25
|
*/
|
|
26
|
-
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number, smoothness?: number): GraphicsPath;
|
|
26
|
+
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number, smoothness?: number, scale?: number): GraphicsPath;
|
|
27
27
|
/**
|
|
28
28
|
* Connects the current point to a new point with a straight line. This method updates the current path.
|
|
29
29
|
* @param x - The x-coordinate of the new point to connect to.
|
|
@@ -35,7 +35,7 @@ export declare class PolyStar extends ShapePrimitive {
|
|
|
35
35
|
clone(): ShapePrimitive;
|
|
36
36
|
copyFrom(source: PolyStar): void;
|
|
37
37
|
copyTo(destination: PolyStar): void;
|
|
38
|
-
build(points: number[]): void;
|
|
38
|
+
build(points: number[], screenScale?: number): void;
|
|
39
39
|
triangulate(points: number[], vertices: number[], verticesOffset: number, indices: number[], indicesOffset: number): void;
|
|
40
40
|
private buildStarPath;
|
|
41
41
|
private buildPolygonPath;
|
|
@@ -58,7 +58,7 @@ export declare class Polygon extends ShapePrimitive {
|
|
|
58
58
|
* @readonly
|
|
59
59
|
*/
|
|
60
60
|
getY(): number;
|
|
61
|
-
build(points: number[]): void;
|
|
61
|
+
build(points: number[], screenScale?: number): void;
|
|
62
62
|
triangulate(points: number[], vertices: number[], verticesOffset: number, indices: number[], indicesOffset: number): void;
|
|
63
63
|
/**
|
|
64
64
|
* 获取直线上最远的两个端点坐标组成的三角形
|
|
@@ -57,6 +57,6 @@ export declare class Rectangle extends ShapePrimitive {
|
|
|
57
57
|
* @returns Returns given parameter.
|
|
58
58
|
*/
|
|
59
59
|
copyTo(rectangle: Rectangle): Rectangle;
|
|
60
|
-
build(points: number[]): void;
|
|
60
|
+
build(points: number[], screenScale?: number): void;
|
|
61
61
|
triangulate(points: number[], vertices: number[], verticesOffset: number, indices: number[], indicesOffset: number): void;
|
|
62
62
|
}
|
|
@@ -26,7 +26,7 @@ export declare class ShapePath {
|
|
|
26
26
|
* @param smoothness - Optional parameter to adjust the smoothness of the curve.
|
|
27
27
|
* @returns The instance of the current object for chaining.
|
|
28
28
|
*/
|
|
29
|
-
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number, smoothness?: number): ShapePath;
|
|
29
|
+
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number, smoothness?: number, scale?: number): ShapePath;
|
|
30
30
|
moveTo(x: number, y: number): ShapePath;
|
|
31
31
|
/**
|
|
32
32
|
* Connects the current point to a new point with a straight line. This method updates the current path.
|
|
@@ -10,6 +10,6 @@ export declare abstract class ShapePrimitive {
|
|
|
10
10
|
/** Returns the framing rectangle of the ShapePrimitive as a Rectangle object. */
|
|
11
11
|
/** The X coordinate of the shape */
|
|
12
12
|
/** The Y coordinate of the shape */
|
|
13
|
-
abstract build(points: number[]): void;
|
|
13
|
+
abstract build(points: number[], screenScale?: number): void;
|
|
14
14
|
abstract triangulate(points: number[], vertices: number[], verticesOffset: number, indices: number[], indicesOffset: number): void;
|
|
15
15
|
}
|
|
@@ -84,6 +84,6 @@ export declare class Triangle extends ShapePrimitive {
|
|
|
84
84
|
getBounds(out?: Rectangle): Rectangle;
|
|
85
85
|
getX(): number;
|
|
86
86
|
getY(): number;
|
|
87
|
-
build(points: number[]): void;
|
|
87
|
+
build(points: number[], screenScale?: number): void;
|
|
88
88
|
triangulate(points: number[], vertices: number[], verticesOffset: number, indices: number[], indicesOffset: number): void;
|
|
89
89
|
}
|
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 {};
|