@galacean/effects-plugin-model 1.2.1 → 2.0.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/gesture/index.d.ts +5 -4
- package/dist/gltf/loader-helper.d.ts +1 -3
- package/dist/index.d.ts +4 -0
- package/dist/index.js +8358 -6785
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.mjs +8357 -6784
- package/dist/index.mjs.map +1 -1
- package/dist/loader.mjs +10070 -4913
- package/dist/loader.mjs.map +1 -1
- package/dist/plugin/const.d.ts +3 -0
- package/dist/plugin/index.d.ts +0 -2
- package/dist/plugin/model-item.d.ts +258 -0
- package/dist/plugin/model-plugin.d.ts +91 -18
- package/dist/plugin/model-tree-item.d.ts +113 -6
- package/dist/plugin/model-tree-plugin.d.ts +9 -8
- package/dist/runtime/anim-sampler.d.ts +20 -0
- package/dist/runtime/animation.d.ts +179 -26
- package/dist/runtime/cache.d.ts +75 -0
- package/dist/runtime/camera.d.ts +130 -5
- package/dist/runtime/common.d.ts +143 -4
- package/dist/runtime/light.d.ts +95 -6
- package/dist/runtime/material.d.ts +306 -1
- package/dist/runtime/math.d.ts +2 -0
- package/dist/runtime/mesh.d.ts +242 -32
- package/dist/runtime/object.d.ts +88 -10
- package/dist/runtime/scene.d.ts +156 -27
- package/dist/runtime/shader-libs/standard-shader-source.d.ts +10 -0
- package/dist/runtime/shader-libs/standard-shader.d.ts +16 -0
- package/dist/runtime/shader.d.ts +33 -1
- package/dist/runtime/skybox.d.ts +233 -9
- package/dist/utility/debug-helper.d.ts +14 -0
- package/dist/utility/hit-test-helper.d.ts +39 -3
- package/dist/utility/plugin-helper.d.ts +665 -14
- package/dist/utility/ri-helper.d.ts +67 -0
- package/dist/utility/shader-helper.d.ts +55 -0
- package/dist/utility/ts-helper.d.ts +6 -0
- package/package.json +4 -4
- package/dist/plugin/model-tree-vfx-item.d.ts +0 -15
- package/dist/plugin/model-vfx-item.d.ts +0 -28
- package/dist/runtime/shadow.d.ts +0 -230
|
@@ -9,33 +9,130 @@ import type { PImageBufferData } from '../runtime/skybox';
|
|
|
9
9
|
import type { CompositionCache } from '../runtime/cache';
|
|
10
10
|
type Box3 = math.Box3;
|
|
11
11
|
type VertexArray = Float32Array | Int32Array | Int16Array | Int8Array | Uint32Array | Uint16Array | Uint8Array;
|
|
12
|
+
/**
|
|
13
|
+
* WebGL 辅助类,负责 WebGL 相关对象的创建
|
|
14
|
+
*/
|
|
12
15
|
export declare class WebGLHelper {
|
|
16
|
+
/**
|
|
17
|
+
* 立方体纹理参数
|
|
18
|
+
*/
|
|
13
19
|
static cubemapTexConfig: TextureConfigOptions;
|
|
20
|
+
/**
|
|
21
|
+
* 立方体纹理参数,带 Mipmap 滤波
|
|
22
|
+
*/
|
|
14
23
|
static cubemapMipTexConfig: TextureConfigOptions;
|
|
24
|
+
/**
|
|
25
|
+
* 创建二维纹理对象
|
|
26
|
+
* @param engine - 引擎
|
|
27
|
+
* @param image - glTF 图像参数
|
|
28
|
+
* @param texture - glTF 纹理参数
|
|
29
|
+
* @param isBaseColor - 是否基础颜色
|
|
30
|
+
* @param tiny3dMode - 是否 Tiny3d 模式
|
|
31
|
+
* @returns 二维纹理对象
|
|
32
|
+
*/
|
|
15
33
|
static createTexture2D(engine: Engine, image: GLTFImage, texture: GLTFTexture, isBaseColor?: boolean, tiny3dMode?: boolean): Promise<Texture>;
|
|
34
|
+
/**
|
|
35
|
+
* 创建纹理对象列表
|
|
36
|
+
* @param engine - 引擎
|
|
37
|
+
* @param images - glTF 图像列表
|
|
38
|
+
* @param textures - glTF 纹理参数列表
|
|
39
|
+
* @returns 纹理对象列表
|
|
40
|
+
*/
|
|
16
41
|
static createTextureList(engine: Engine, images: GLTFImage[], textures: GLTFTexture[]): Promise<Texture[]>;
|
|
42
|
+
/**
|
|
43
|
+
* 获取立方体纹理数据
|
|
44
|
+
* @param images - 图像数据列表
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
17
47
|
static getTextureCubeData(images: PImageBufferData[]): Promise<TextureSourceCubeData>;
|
|
48
|
+
/**
|
|
49
|
+
* 获取立方体纹理 Mipmap 数据
|
|
50
|
+
* @param images - 图像数据二维列表
|
|
51
|
+
* @returns 立方体纹理数据
|
|
52
|
+
*/
|
|
18
53
|
static getTextureCubeMipmapData(images: PImageBufferData[][]): Promise<TextureSourceCubeData[]>;
|
|
54
|
+
/**
|
|
55
|
+
* 从 URL 创建立方体纹理
|
|
56
|
+
* @param engine - 引擎
|
|
57
|
+
* @param cubeImage - 立方体图像 URL
|
|
58
|
+
* @returns 纹理对象
|
|
59
|
+
*/
|
|
19
60
|
static createTextureCubeFromURL(engine: Engine, cubeImage: string[]): Promise<Texture>;
|
|
61
|
+
/**
|
|
62
|
+
* 从 URL 创建带 Mipmap 立方体纹理
|
|
63
|
+
* @param engine - 引擎
|
|
64
|
+
* @param cubeImages - 立方体 Mipmap 图像 URL
|
|
65
|
+
* @returns 纹理对象
|
|
66
|
+
*/
|
|
20
67
|
static createTextureCubeMipmapFromURL(engine: Engine, cubeImages: string[][]): Promise<Texture>;
|
|
68
|
+
/**
|
|
69
|
+
* 从缓冲区创建立方体纹理
|
|
70
|
+
* @param engine - 引擎
|
|
71
|
+
* @param cubeImages - 图像缓冲区数据列表
|
|
72
|
+
* @returns 纹理对象
|
|
73
|
+
*/
|
|
21
74
|
static createTextureCubeFromBuffer(engine: Engine, cubeImages: PImageBufferData[]): Promise<Texture>;
|
|
75
|
+
/**
|
|
76
|
+
* 从缓冲区创建带 Mipmap 立方体纹理
|
|
77
|
+
* @param engine - 引擎
|
|
78
|
+
* @param cubeImages - 图像缓冲区数据二维列表
|
|
79
|
+
* @param level0Size - 第 0 层 Mip 的图像大小
|
|
80
|
+
* @returns 纹理对象
|
|
81
|
+
*/
|
|
22
82
|
static createTextureCubeMipmapFromBuffer(engine: Engine, cubeImages: PImageBufferData[][], level0Size: number): Promise<Texture>;
|
|
83
|
+
/**
|
|
84
|
+
* 获取纹理对象
|
|
85
|
+
* @param index - 索引
|
|
86
|
+
* @param textures - 纹理数组
|
|
87
|
+
* @returns 纹理获取或 undefined
|
|
88
|
+
*/
|
|
23
89
|
static getTexture(index: number, textures: Texture[]): Texture | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* 从图像创建纹理
|
|
92
|
+
* @param engine - 引擎
|
|
93
|
+
* @param image - HTML 图像元素
|
|
94
|
+
* @returns
|
|
95
|
+
*/
|
|
24
96
|
static createTextureFromImage(engine: Engine, image: HTMLImageElement | HTMLCanvasElement): Texture;
|
|
97
|
+
/**
|
|
98
|
+
* 创建渲染 Pass
|
|
99
|
+
* @param renderer - 渲染器
|
|
100
|
+
* @param name - 名称
|
|
101
|
+
* @param priority - 优先级
|
|
102
|
+
* @param meshData - Mesh 数据或数据列表
|
|
103
|
+
* @param fboOpts - FBO 参数
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
25
106
|
static createRenderPass(renderer: Renderer, name: string, priority: number, meshData: Mesh | Mesh[], fboOpts: FBOOptions): RenderPass;
|
|
107
|
+
/**
|
|
108
|
+
* 删除纹理
|
|
109
|
+
* @param texture - 纹理对象
|
|
110
|
+
*/
|
|
26
111
|
static deleteTexture(texture: Texture): void;
|
|
112
|
+
/**
|
|
113
|
+
* 删除 Mesh
|
|
114
|
+
* @param mesh - Mesh 对象
|
|
115
|
+
*/
|
|
27
116
|
static deleteMesh(mesh: Mesh): void;
|
|
117
|
+
/**
|
|
118
|
+
* 删除几何
|
|
119
|
+
* @param geometry - 几何体
|
|
120
|
+
*/
|
|
28
121
|
static deleteGeometry(geometry: Geometry): void;
|
|
122
|
+
/**
|
|
123
|
+
* 删除渲染 Pass
|
|
124
|
+
* @param pass - 渲染 Pass
|
|
125
|
+
*/
|
|
29
126
|
static deleteRenderPass(pass: RenderPass): void;
|
|
30
127
|
/**
|
|
31
128
|
* 返回 Mesh 是否半透明
|
|
32
|
-
*
|
|
33
129
|
* @param mesh - gl mesh 对象
|
|
34
130
|
* @return 是否半透明
|
|
35
131
|
*/
|
|
36
132
|
static isTransparentMesh(mesh: Mesh): boolean;
|
|
37
133
|
/**
|
|
38
134
|
* renderer 是否支持 Float 纹理
|
|
135
|
+
* @param engine - 引擎对象
|
|
39
136
|
* @returns
|
|
40
137
|
*/
|
|
41
138
|
static isSupportFloatTexture(engine: Engine): boolean;
|
|
@@ -44,60 +141,288 @@ export declare class WebGLHelper {
|
|
|
44
141
|
* @returns
|
|
45
142
|
*/
|
|
46
143
|
static isSupportHalfFloatTexture(engine: Engine): boolean;
|
|
144
|
+
/**
|
|
145
|
+
* 是否 2 的幂次
|
|
146
|
+
* @param v - 数值
|
|
147
|
+
* @returns
|
|
148
|
+
*/
|
|
47
149
|
static isPow2(v: number): boolean;
|
|
48
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Mesh 辅助类,负责 Mesh 相关的基础对象创建
|
|
153
|
+
*/
|
|
49
154
|
export declare class MeshHelper {
|
|
155
|
+
/**
|
|
156
|
+
* 创建滤波 Mesh
|
|
157
|
+
* @param engine - 引擎
|
|
158
|
+
* @param name - 名称
|
|
159
|
+
* @param material - 3D 材质
|
|
160
|
+
* @param uniformSemantics - 传入的 Uniform 数据
|
|
161
|
+
* @returns Mesh 对象
|
|
162
|
+
*/
|
|
50
163
|
static createFilterMesh(engine: Engine, name: string, material: PMaterialBase, uniformSemantics: {
|
|
51
164
|
[k: string]: any;
|
|
52
165
|
}): Mesh;
|
|
166
|
+
/**
|
|
167
|
+
* 获取平面的几何参数
|
|
168
|
+
* @returns 几何参数
|
|
169
|
+
*/
|
|
53
170
|
static getPlaneGeometry(): GeometryProps;
|
|
171
|
+
/**
|
|
172
|
+
* 获取平面顶点数组
|
|
173
|
+
* @returns 浮点数组
|
|
174
|
+
*/
|
|
54
175
|
static getPlaneVertexArray(): Float32Array;
|
|
55
176
|
}
|
|
56
177
|
export interface EffectsSceneInfo {
|
|
57
178
|
loadSkybox?: boolean;
|
|
58
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* 3D 插件辅助类,为插件提供基础的函数
|
|
182
|
+
*/
|
|
59
183
|
export declare class PluginHelper {
|
|
184
|
+
/**
|
|
185
|
+
* 创建 3D 灯光参数,从 glTF 灯光参数
|
|
186
|
+
* @param light - glTF 灯光参数
|
|
187
|
+
* @returns 3D 灯光参数
|
|
188
|
+
*/
|
|
60
189
|
static createLightOptions(light: GLTFLight): ModelLightOptions;
|
|
190
|
+
/**
|
|
191
|
+
* 创建 3D 相机参数,从 glTF 相机参数
|
|
192
|
+
* @param camera - glTF 相机参数
|
|
193
|
+
* @returns 3D 相机参数
|
|
194
|
+
*/
|
|
61
195
|
static createCameraOptions(camera: GLTFCamera): ModelCameraOptions | undefined;
|
|
196
|
+
/**
|
|
197
|
+
* 转成播放器中 [0, 255] 区间的颜色值
|
|
198
|
+
* @param color - RGB 颜色值
|
|
199
|
+
* @returns RGB 颜色值
|
|
200
|
+
*/
|
|
62
201
|
static toPlayerColor3(color: spec.vec3): spec.vec3;
|
|
202
|
+
/**
|
|
203
|
+
* 转成播放器中 [0, 255] 区间的颜色值
|
|
204
|
+
* @param color - RGBA 颜色值
|
|
205
|
+
* @returns RGBA 颜色值
|
|
206
|
+
*/
|
|
63
207
|
static toPlayerColor4(color: spec.vec4): spec.vec4;
|
|
208
|
+
/**
|
|
209
|
+
* 转成插件中 [0, 1] 区间的颜色值
|
|
210
|
+
* @param color - RGB 颜色值
|
|
211
|
+
* @returns RGB 颜色值
|
|
212
|
+
*/
|
|
64
213
|
static toPluginColor3(color: spec.vec3): spec.vec3;
|
|
214
|
+
/**
|
|
215
|
+
* 转成插件中 [0, 1] 区间的颜色值
|
|
216
|
+
* @param color - RGBA 颜色值
|
|
217
|
+
* @returns RGBA 颜色值
|
|
218
|
+
*/
|
|
65
219
|
static toPluginColor4(color: spec.vec4): spec.vec4;
|
|
220
|
+
/**
|
|
221
|
+
* 创建 UV 变换矩阵,从 UV 变换参数中
|
|
222
|
+
* @param transform - 变换参数
|
|
223
|
+
* @returns 3阶变换矩阵
|
|
224
|
+
*/
|
|
66
225
|
static createUVTransform(transform?: spec.ModelTextureTransform): Matrix3 | undefined;
|
|
226
|
+
/**
|
|
227
|
+
* 获取截断后的数值
|
|
228
|
+
* @param val - 数值
|
|
229
|
+
* @param minv - 最小值
|
|
230
|
+
* @param maxv - 最大值
|
|
231
|
+
* @returns
|
|
232
|
+
*/
|
|
67
233
|
static clamp(val: number, minv: number, maxv: number): number;
|
|
234
|
+
/**
|
|
235
|
+
* 转换成 [0, 255] 区间数值
|
|
236
|
+
* @param val - [0, 1] 区间数值
|
|
237
|
+
* @returns
|
|
238
|
+
*/
|
|
68
239
|
static scaleTo255(val: number): number;
|
|
240
|
+
/**
|
|
241
|
+
* 转换成 [0, 1] 区间数值
|
|
242
|
+
* @param val - [0, 255] 区间数值
|
|
243
|
+
* @returns
|
|
244
|
+
*/
|
|
69
245
|
static scaleTo1(val: number): number;
|
|
246
|
+
/**
|
|
247
|
+
* 根据相机的位置、Y 轴旋转角度和目标点位置来计算相机变换,
|
|
248
|
+
* 使得相机能够专注于目标点上
|
|
249
|
+
* @param cameraPosition - 相机位置
|
|
250
|
+
* @param YRotationAngle - Y 轴旋转角度
|
|
251
|
+
* @param targetPoint - 目标点
|
|
252
|
+
* @returns 相机变换
|
|
253
|
+
*/
|
|
70
254
|
static focusOnPoint(cameraPosition: spec.vec3, YRotationAngle: number, targetPoint: spec.vec3): Transform;
|
|
71
|
-
|
|
255
|
+
/**
|
|
256
|
+
* 场景预处理,在移动端 3D 插件会对场景进行预处理,调整纹理参数
|
|
257
|
+
* @param scene - 场景
|
|
258
|
+
* @param runtimeEnv - 运行时环境
|
|
259
|
+
* @param compatibleMode - 兼容模式
|
|
260
|
+
* @param autoAdjustScene - 是否自动调整
|
|
261
|
+
* @returns 场景信息描述
|
|
262
|
+
*/
|
|
263
|
+
static preprocessScene(scene: Scene, runtimeEnv: string, compatibleMode: string, autoAdjustScene: boolean): EffectsSceneInfo;
|
|
264
|
+
/**
|
|
265
|
+
* 纹理参数预处理,设置环绕模式和滤波器
|
|
266
|
+
* @param index - 纹理索引
|
|
267
|
+
* @param textures - 纹理数组
|
|
268
|
+
* @param isBaseColor - 是否基础颜色
|
|
269
|
+
* @param tiny3dMode - 是否 Tiny3d 模式
|
|
270
|
+
* @returns
|
|
271
|
+
*/
|
|
72
272
|
static preprocessTextureOptions(index: number, textures: Array<TextureSourceOptions>, isBaseColor: boolean, tiny3dMode: boolean): void;
|
|
273
|
+
/**
|
|
274
|
+
* 设置 3D 元素参数,在播放器创建 3D 元素前
|
|
275
|
+
* @param scene - 场景
|
|
276
|
+
* @param cache - 缓存
|
|
277
|
+
* @param composition - 合成
|
|
278
|
+
* @returns
|
|
279
|
+
*/
|
|
73
280
|
static setupItem3DOptions(scene: Scene, cache: CompositionCache, composition: Composition): void;
|
|
281
|
+
/**
|
|
282
|
+
* 创建几何体,根据几何参数描述 JSON 和数据数组
|
|
283
|
+
* @param engine - 引擎
|
|
284
|
+
* @param geomJson - 几何参数描述 JSON
|
|
285
|
+
* @param bins - 数据数组
|
|
286
|
+
* @returns 几何体
|
|
287
|
+
*/
|
|
74
288
|
static createGeometry(engine: Engine, geomJson: spec.GeometryOptionsJSON, bins: ArrayBuffer[]): Geometry;
|
|
289
|
+
/**
|
|
290
|
+
* 索引数组类型转换
|
|
291
|
+
* @param type - 类型
|
|
292
|
+
* @param array - 索引数组
|
|
293
|
+
* @returns 索引数组
|
|
294
|
+
*/
|
|
75
295
|
static getIndexArray(type: number, array: spec.TypedArray): Uint32Array | Uint8Array | Uint16Array | undefined;
|
|
296
|
+
/**
|
|
297
|
+
* 属性名称转换
|
|
298
|
+
* @param name - 旧名称
|
|
299
|
+
* @returns 新名称
|
|
300
|
+
*/
|
|
76
301
|
static getAttributeName(name: string): string;
|
|
302
|
+
/**
|
|
303
|
+
* 获取纹理对象
|
|
304
|
+
* @param textures - 纹理数组
|
|
305
|
+
* @param index - 索引
|
|
306
|
+
* @returns
|
|
307
|
+
*/
|
|
77
308
|
static getTextureObj(textures: Texture[], index?: number): Texture | undefined;
|
|
78
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* Web 辅助类,负责 Web 相关的基础功能
|
|
312
|
+
*/
|
|
79
313
|
export declare class WebHelper {
|
|
314
|
+
/**
|
|
315
|
+
* 获取图像文件名,从 URL 链接中
|
|
316
|
+
* @param url - 链接
|
|
317
|
+
* @param ext - 扩展名
|
|
318
|
+
* @returns
|
|
319
|
+
*/
|
|
80
320
|
static getImageFileName(url: string, ext?: string): string;
|
|
321
|
+
/**
|
|
322
|
+
* 获取当前时间字符串
|
|
323
|
+
* @returns
|
|
324
|
+
*/
|
|
81
325
|
static getCurrnetTimeStr(): string;
|
|
326
|
+
/**
|
|
327
|
+
* 将 URL 链接保存成文件
|
|
328
|
+
* @param url - 链接
|
|
329
|
+
* @param filename - 文件名
|
|
330
|
+
*/
|
|
82
331
|
static saveFileForURL(url: string, filename: string): void;
|
|
332
|
+
/**
|
|
333
|
+
* 创建播放器
|
|
334
|
+
* @param manualRender - 是否手动渲染
|
|
335
|
+
* @returns
|
|
336
|
+
*/
|
|
83
337
|
static createPlayer(manualRender?: boolean): Player;
|
|
338
|
+
/**
|
|
339
|
+
* 休眠
|
|
340
|
+
* @param ms - 时间,单位是毫秒
|
|
341
|
+
* @returns
|
|
342
|
+
*/
|
|
84
343
|
static sleep(ms: number): Promise<unknown>;
|
|
344
|
+
/**
|
|
345
|
+
* 从 glTF 图像加载 HTML 图像元素
|
|
346
|
+
* @param image - glTF 图像
|
|
347
|
+
* @returns HTML 图像元素
|
|
348
|
+
*/
|
|
85
349
|
static loadImageFromGLTFImage(image: GLTFImage): Promise<HTMLImageElement>;
|
|
350
|
+
/**
|
|
351
|
+
* 从图像缓存区数据加载 HTML 图像元素
|
|
352
|
+
* @param image - 图像缓冲区数据
|
|
353
|
+
* @returns
|
|
354
|
+
*/
|
|
86
355
|
static loadImageFromImageData(image: PImageBufferData): Promise<HTMLImageElement>;
|
|
356
|
+
/**
|
|
357
|
+
* 获取画布渲染的内容,转成 PNG 图片数据
|
|
358
|
+
* @param canvas - HTML 画布元素
|
|
359
|
+
* @returns PNG 图片数据
|
|
360
|
+
*/
|
|
87
361
|
static getCanvasArrayBuffer(canvas: HTMLCanvasElement): Promise<ArrayBuffer>;
|
|
362
|
+
/**
|
|
363
|
+
* 从 HTML 图像、视频或位图图像对象获取图像数据
|
|
364
|
+
* @param image - HTML 图像、视频或位图图像
|
|
365
|
+
* @returns PNG 图片数据
|
|
366
|
+
*/
|
|
88
367
|
static getImageArrayBuffer(image: HTMLImageElement | ImageBitmap | HTMLVideoElement): Promise<ArrayBuffer>;
|
|
368
|
+
/**
|
|
369
|
+
* 获取画布元素渲染结果
|
|
370
|
+
* @param canvas - 画布元素
|
|
371
|
+
* @returns
|
|
372
|
+
*/
|
|
89
373
|
static getCanvasImageData(canvas: HTMLCanvasElement): ImageData;
|
|
374
|
+
/**
|
|
375
|
+
* 翻转图像
|
|
376
|
+
* @param imageData - 图像数据
|
|
377
|
+
* @returns 翻转后的图像
|
|
378
|
+
*/
|
|
90
379
|
static flipImageData(imageData: ImageData): ImageData;
|
|
380
|
+
/**
|
|
381
|
+
* 从 HTML 图像、视频或位图图像对象获取翻转后的图像数据
|
|
382
|
+
* @param image - HTML 图像、视频或位图图像
|
|
383
|
+
* @returns PNG 图片数据
|
|
384
|
+
*/
|
|
91
385
|
static getImageData(image: HTMLImageElement | ImageBitmap | HTMLVideoElement): ImageData;
|
|
386
|
+
/**
|
|
387
|
+
* 获取位图数据,从 HTML 画布元素
|
|
388
|
+
* @param canvas - HTML 画布元素
|
|
389
|
+
* @returns uint8 数组
|
|
390
|
+
*/
|
|
92
391
|
static getWebGLCanvasImageBuffer(canvas: HTMLCanvasElement): Uint8Array;
|
|
93
392
|
}
|
|
393
|
+
/**
|
|
394
|
+
* 顶点属性缓冲区
|
|
395
|
+
*/
|
|
94
396
|
export declare class VertexAttribBuffer {
|
|
397
|
+
/**
|
|
398
|
+
* 顶点数组
|
|
399
|
+
*/
|
|
95
400
|
data: VertexArray;
|
|
401
|
+
/**
|
|
402
|
+
* 分量数
|
|
403
|
+
*/
|
|
96
404
|
component: number;
|
|
405
|
+
/**
|
|
406
|
+
* 长度
|
|
407
|
+
*/
|
|
97
408
|
length: number;
|
|
409
|
+
/**
|
|
410
|
+
* 偏移
|
|
411
|
+
*/
|
|
98
412
|
offset: number;
|
|
413
|
+
/**
|
|
414
|
+
* 步长
|
|
415
|
+
*/
|
|
99
416
|
stride: number;
|
|
417
|
+
/**
|
|
418
|
+
* 类型大小
|
|
419
|
+
*/
|
|
100
420
|
typeSize: number;
|
|
421
|
+
/**
|
|
422
|
+
* 获取包围盒,根据顶点数据
|
|
423
|
+
* @param box - 包围盒,会被修改
|
|
424
|
+
* @returns 包围盒
|
|
425
|
+
*/
|
|
101
426
|
getBoundingBox(box: Box3): math.Box3;
|
|
102
427
|
}
|
|
103
428
|
declare class AttributeArray {
|
|
@@ -114,84 +439,410 @@ declare class AttributeArray {
|
|
|
114
439
|
getData(index: number): [number, number, number, number] | undefined;
|
|
115
440
|
getLength(): number;
|
|
116
441
|
}
|
|
442
|
+
/**
|
|
443
|
+
* 几何包围盒代理类
|
|
444
|
+
*/
|
|
117
445
|
export declare class GeometryBoxProxy {
|
|
446
|
+
/**
|
|
447
|
+
* 渲染开始索引
|
|
448
|
+
*/
|
|
118
449
|
drawStart: number;
|
|
450
|
+
/**
|
|
451
|
+
* 渲染索引数目
|
|
452
|
+
*/
|
|
119
453
|
drawCount: number;
|
|
454
|
+
/**
|
|
455
|
+
* 索引数组
|
|
456
|
+
*/
|
|
120
457
|
index?: spec.TypedArray;
|
|
458
|
+
/**
|
|
459
|
+
* 位置数组
|
|
460
|
+
*/
|
|
121
461
|
position: AttributeArray;
|
|
462
|
+
/**
|
|
463
|
+
* 关节点数组
|
|
464
|
+
*/
|
|
122
465
|
joint?: AttributeArray;
|
|
466
|
+
/**
|
|
467
|
+
* 权重数组
|
|
468
|
+
*/
|
|
123
469
|
weight?: AttributeArray;
|
|
470
|
+
/**
|
|
471
|
+
* 绑定矩阵数组
|
|
472
|
+
*/
|
|
124
473
|
bindMatrices: Matrix4[];
|
|
474
|
+
/**
|
|
475
|
+
* 创建函数,根据几何体和绑定矩阵数组
|
|
476
|
+
* @param geometry - 几何体
|
|
477
|
+
* @param bindMatrices - 绑定矩阵数组
|
|
478
|
+
*/
|
|
125
479
|
create(geometry: Geometry, bindMatrices: Matrix4[]): void;
|
|
480
|
+
/**
|
|
481
|
+
* 获取包围盒,如果有骨骼动画,需要先更新位置
|
|
482
|
+
* @param box - 包围盒,会被修改
|
|
483
|
+
* @returns 包围盒
|
|
484
|
+
*/
|
|
126
485
|
getBoundingBox(box: Box3): math.Box3;
|
|
127
486
|
}
|
|
487
|
+
/**
|
|
488
|
+
* 点击测试代理类,
|
|
489
|
+
*/
|
|
128
490
|
export declare class HitTestingProxy {
|
|
491
|
+
/**
|
|
492
|
+
* 渲染开始索引
|
|
493
|
+
*/
|
|
129
494
|
drawStart: number;
|
|
495
|
+
/**
|
|
496
|
+
* 渲染索引数目
|
|
497
|
+
*/
|
|
130
498
|
drawCount: number;
|
|
499
|
+
/**
|
|
500
|
+
* 索引数组
|
|
501
|
+
*/
|
|
131
502
|
index?: spec.TypedArray;
|
|
503
|
+
/**
|
|
504
|
+
* 位置数组
|
|
505
|
+
*/
|
|
132
506
|
position: AttributeArray;
|
|
507
|
+
/**
|
|
508
|
+
* 关节点数组
|
|
509
|
+
*/
|
|
133
510
|
joint?: AttributeArray;
|
|
511
|
+
/**
|
|
512
|
+
* 权重数组
|
|
513
|
+
*/
|
|
134
514
|
weight?: AttributeArray;
|
|
515
|
+
/**
|
|
516
|
+
* 是否双面
|
|
517
|
+
*/
|
|
135
518
|
doubleSided: boolean;
|
|
519
|
+
/**
|
|
520
|
+
* 绑定矩阵数组
|
|
521
|
+
*/
|
|
136
522
|
bindMatrices: Matrix4[];
|
|
523
|
+
/**
|
|
524
|
+
* 是否有动画
|
|
525
|
+
*/
|
|
137
526
|
hasAnimation: boolean;
|
|
527
|
+
/**
|
|
528
|
+
* 蒙皮矩阵
|
|
529
|
+
*/
|
|
138
530
|
skinMatrix: math.Matrix4;
|
|
531
|
+
/**
|
|
532
|
+
* 创建对象,传入几何体、是否双面和绑定矩阵列表
|
|
533
|
+
* @param geometry - 几何体
|
|
534
|
+
* @param doubleSided - 是否双面
|
|
535
|
+
* @param bindMatrices - 绑定矩阵列表
|
|
536
|
+
*/
|
|
139
537
|
create(geometry: Geometry, doubleSided: boolean, bindMatrices: Matrix4[]): void;
|
|
538
|
+
/**
|
|
539
|
+
* 点击测试,返回射线参数值
|
|
540
|
+
* @param rayOrigin - 射线原点
|
|
541
|
+
* @param rayDirection - 射线方向
|
|
542
|
+
* @returns 射线参数值或 undefined
|
|
543
|
+
*/
|
|
140
544
|
getHitPoint(rayOrigin: Vector3, rayDirection: Vector3): number | undefined;
|
|
545
|
+
/**
|
|
546
|
+
* 获取顶点位置
|
|
547
|
+
* @param index - 顶点索引
|
|
548
|
+
* @param vec3 - 顶点位置,会被修改和返回
|
|
549
|
+
* @param vec4 - 临时变量,用于骨骼动画时的计算
|
|
550
|
+
* @returns 顶点位置
|
|
551
|
+
*/
|
|
141
552
|
getPosition(index: number, vec3: Vector3, vec4: Vector4): Vector3 | undefined;
|
|
142
553
|
}
|
|
554
|
+
/**
|
|
555
|
+
* 检查辅助类,负责 3D 插件元素数据格式检查和报错
|
|
556
|
+
*/
|
|
143
557
|
export declare class CheckerHelper {
|
|
558
|
+
/**
|
|
559
|
+
* 检查数值
|
|
560
|
+
* @param v - 数值
|
|
561
|
+
* @returns
|
|
562
|
+
*/
|
|
144
563
|
static checkNumber(v: number): boolean;
|
|
145
|
-
|
|
564
|
+
/**
|
|
565
|
+
* 检查数值或未定义
|
|
566
|
+
* @param v - 数值或未定义
|
|
567
|
+
* @returns
|
|
568
|
+
*/
|
|
569
|
+
static checkNumberUndef(v?: number): boolean;
|
|
570
|
+
/**
|
|
571
|
+
* 检查 0 和 1 之间数值
|
|
572
|
+
* @param v - 数值
|
|
573
|
+
* @returns
|
|
574
|
+
*/
|
|
146
575
|
static checkNumber01(v: number): boolean;
|
|
147
|
-
|
|
576
|
+
/**
|
|
577
|
+
* 检查 0 和 1 之间数值或未定义
|
|
578
|
+
* @param v - 数值或未定义
|
|
579
|
+
* @returns
|
|
580
|
+
*/
|
|
581
|
+
static checkNumber01Undef(v?: number): boolean;
|
|
582
|
+
/**
|
|
583
|
+
* 检查正数
|
|
584
|
+
* @param v - 数值
|
|
585
|
+
* @returns
|
|
586
|
+
*/
|
|
148
587
|
static checkPositive(v: number): boolean;
|
|
588
|
+
/**
|
|
589
|
+
* 检查非负数
|
|
590
|
+
* @param v - 数值
|
|
591
|
+
* @returns
|
|
592
|
+
*/
|
|
149
593
|
static checkNonnegative(v: number): boolean;
|
|
150
|
-
|
|
594
|
+
/**
|
|
595
|
+
* 检查非负数或未定义
|
|
596
|
+
* @param v - 数值
|
|
597
|
+
* @returns
|
|
598
|
+
*/
|
|
599
|
+
static checkNonnegativeUndef(v?: number): boolean;
|
|
600
|
+
/**
|
|
601
|
+
* 检查布尔类型
|
|
602
|
+
* @param v - 布尔值
|
|
603
|
+
* @returns
|
|
604
|
+
*/
|
|
151
605
|
static checkBoolean(v: boolean): boolean;
|
|
152
|
-
|
|
606
|
+
/**
|
|
607
|
+
* 检查布尔类型或未定义
|
|
608
|
+
* @param v - 布尔值或未定义
|
|
609
|
+
* @returns
|
|
610
|
+
*/
|
|
611
|
+
static checkBooleanUndef(v?: boolean): boolean;
|
|
612
|
+
/**
|
|
613
|
+
* 检查字符串类型
|
|
614
|
+
* @param v - 字符串
|
|
615
|
+
* @returns
|
|
616
|
+
*/
|
|
153
617
|
static checkString(v: string): boolean;
|
|
154
|
-
|
|
618
|
+
/**
|
|
619
|
+
* 检查字符串类型或未定义
|
|
620
|
+
* @param v - 字符串或未定义
|
|
621
|
+
* @returns
|
|
622
|
+
*/
|
|
623
|
+
static checkStringUndef(v?: string): boolean;
|
|
624
|
+
/**
|
|
625
|
+
* 检查浮点数组
|
|
626
|
+
* @param v - 浮点数组
|
|
627
|
+
* @returns
|
|
628
|
+
*/
|
|
155
629
|
static checkFloat32Array(v: Float32Array): boolean;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
630
|
+
/**
|
|
631
|
+
* 检查浮点数组或未定义
|
|
632
|
+
* @param v - 浮点数组或未定义
|
|
633
|
+
* @returns
|
|
634
|
+
*/
|
|
635
|
+
static checkFloat32ArrayUndef(v?: Float32Array): boolean;
|
|
636
|
+
/**
|
|
637
|
+
* 检查父节点索引
|
|
638
|
+
* @param v - 数值或未定义
|
|
639
|
+
* @returns
|
|
640
|
+
*/
|
|
641
|
+
static checkParent(v?: number): boolean;
|
|
642
|
+
/**
|
|
643
|
+
* 检查纹理坐标
|
|
644
|
+
* @param v - 纹理坐标或未定义
|
|
645
|
+
* @returns
|
|
646
|
+
*/
|
|
647
|
+
static checkTexCoord(v?: number): boolean;
|
|
648
|
+
/**
|
|
649
|
+
* 检查二维向量
|
|
650
|
+
* @param v - 二维向量
|
|
651
|
+
* @returns
|
|
652
|
+
*/
|
|
159
653
|
static checkVec2(v: spec.vec2): boolean;
|
|
654
|
+
/**
|
|
655
|
+
* 检查二维向量或未定义
|
|
656
|
+
* @param v - 二维向量或未定义
|
|
657
|
+
* @returns
|
|
658
|
+
*/
|
|
160
659
|
static checkVec2Undef(v?: spec.vec2): boolean;
|
|
660
|
+
/**
|
|
661
|
+
* 检查三维向量
|
|
662
|
+
* @param v - 三维向量
|
|
663
|
+
* @returns
|
|
664
|
+
*/
|
|
161
665
|
static checkVec3(v: spec.vec3): boolean;
|
|
666
|
+
/**
|
|
667
|
+
* 检查三维非负向量
|
|
668
|
+
* @param v - 三维向量
|
|
669
|
+
* @returns
|
|
670
|
+
*/
|
|
162
671
|
static checkNonnegative3(v: spec.vec3): boolean;
|
|
672
|
+
/**
|
|
673
|
+
* 检查四维向量
|
|
674
|
+
* @param v - 四维向量
|
|
675
|
+
* @returns
|
|
676
|
+
*/
|
|
163
677
|
static checkVec4(v: spec.vec4): boolean;
|
|
678
|
+
/**
|
|
679
|
+
* 检查四维向量或未定义
|
|
680
|
+
* @param v - 四维向量或未定义
|
|
681
|
+
* @returns
|
|
682
|
+
*/
|
|
164
683
|
static checkNonnegative4(v: spec.vec4): boolean;
|
|
684
|
+
/**
|
|
685
|
+
* 检查数值数组
|
|
686
|
+
* @param v - 数值数组
|
|
687
|
+
* @returns
|
|
688
|
+
*/
|
|
165
689
|
static checkNumberArray(v: number[]): boolean;
|
|
690
|
+
/**
|
|
691
|
+
* 检查纹理对象
|
|
692
|
+
* @param v - 纹理对象
|
|
693
|
+
* @returns
|
|
694
|
+
*/
|
|
166
695
|
static checkTexture(v: Texture): boolean;
|
|
167
|
-
|
|
696
|
+
/**
|
|
697
|
+
* 检查纹理对象或未定义
|
|
698
|
+
* @param v - 纹理对象或未定义
|
|
699
|
+
* @returns
|
|
700
|
+
*/
|
|
701
|
+
static checkTextureUndef(v?: Texture): boolean;
|
|
702
|
+
/**
|
|
703
|
+
* 检查纹理变换参数
|
|
704
|
+
* @param v - 纹理变换参数
|
|
705
|
+
* @returns
|
|
706
|
+
*/
|
|
168
707
|
static checkTexTransform(v: ModelTextureTransform): boolean;
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
708
|
+
/**
|
|
709
|
+
* 检查纹理变换参数或未定义
|
|
710
|
+
* @param v - 纹理变换参数或未定义
|
|
711
|
+
* @returns
|
|
712
|
+
*/
|
|
713
|
+
static checkTexTransformUndef(v?: ModelTextureTransform): boolean;
|
|
714
|
+
/**
|
|
715
|
+
* 检查材质混合参数或未定义
|
|
716
|
+
* @param v - 材质混合参数或未定义
|
|
717
|
+
* @returns
|
|
718
|
+
*/
|
|
719
|
+
static checkMatBlending(v?: spec.MaterialBlending): boolean;
|
|
720
|
+
/**
|
|
721
|
+
* 检查材质单双面模式或未定义
|
|
722
|
+
* @param v - 材质单双面模式或未定义
|
|
723
|
+
* @returns
|
|
724
|
+
*/
|
|
725
|
+
static checkMatSide(v?: spec.SideMode): boolean;
|
|
726
|
+
/**
|
|
727
|
+
* 检查动画路径模式
|
|
728
|
+
* @param v - 动画路径模式
|
|
729
|
+
* @returns
|
|
730
|
+
*/
|
|
172
731
|
static checkAnimPath(v: string): boolean;
|
|
732
|
+
/**
|
|
733
|
+
* 检查动画插值模式
|
|
734
|
+
* @param v - 动画插值模式
|
|
735
|
+
* @returns
|
|
736
|
+
*/
|
|
173
737
|
static checkAnimInterp(v: string): boolean;
|
|
738
|
+
/**
|
|
739
|
+
* 检查几何体
|
|
740
|
+
* @param v - 几何体
|
|
741
|
+
* @param s - 蒙皮参数
|
|
742
|
+
*/
|
|
174
743
|
static assertGeometry(v: Geometry, s?: ModelSkinOptions): void;
|
|
744
|
+
/**
|
|
745
|
+
* 检查几何体缓冲区
|
|
746
|
+
* @param v - 几何体
|
|
747
|
+
* @param name - 名称
|
|
748
|
+
* @param drawCount - 渲染数目
|
|
749
|
+
*/
|
|
175
750
|
static assertGeometryBuffer(v: Geometry, name: string, drawCount: number): void;
|
|
751
|
+
/**
|
|
752
|
+
* 创建属性数组
|
|
753
|
+
* @param v - 几何体
|
|
754
|
+
* @param name - 名称
|
|
755
|
+
* @returns
|
|
756
|
+
*/
|
|
176
757
|
static createAttributeArray(v: Geometry, name: string): AttributeArray | undefined;
|
|
758
|
+
/**
|
|
759
|
+
* 检查蒙皮参数
|
|
760
|
+
* @param v - 蒙皮参数
|
|
761
|
+
*/
|
|
177
762
|
static assertModelSkinOptions(v: ModelSkinOptions): void;
|
|
763
|
+
/**
|
|
764
|
+
* 检查材质参数
|
|
765
|
+
* @param v - 材质参数
|
|
766
|
+
*/
|
|
178
767
|
static assertMatOptions(v: ModelMaterialOptions): void;
|
|
768
|
+
/**
|
|
769
|
+
* 检查 Primitive 参数
|
|
770
|
+
* @param v - Primitive 参数
|
|
771
|
+
* @param s - 蒙皮参数
|
|
772
|
+
* @returns
|
|
773
|
+
*/
|
|
179
774
|
static assertPrimOptions(v: ModelPrimitiveOptions, s?: ModelSkinOptions): boolean;
|
|
775
|
+
/**
|
|
776
|
+
* 检查 Model 插件 Mesh 参数
|
|
777
|
+
* @param v - Model 插件 Mesh 参数
|
|
778
|
+
*/
|
|
180
779
|
static assertModelMeshOptions(v: ModelMeshOptions): void;
|
|
780
|
+
/**
|
|
781
|
+
* 检查 Model 插件相机参数
|
|
782
|
+
* @param v - Model 插件相机参数
|
|
783
|
+
*/
|
|
181
784
|
static assertModelCameraOptions(v: ModelCameraOptions): void;
|
|
785
|
+
/**
|
|
786
|
+
* 检查 Model 插件灯光参数
|
|
787
|
+
* @param v - Model 插件灯光参数
|
|
788
|
+
*/
|
|
182
789
|
static assertModelLightOptions(v: ModelLightOptions): void;
|
|
790
|
+
/**
|
|
791
|
+
* 检查 Model 插件天空盒参数
|
|
792
|
+
* @param v - Model 插件天空盒参数
|
|
793
|
+
*/
|
|
183
794
|
static assertModelSkyboxOptions(v: ModelSkyboxOptions): void;
|
|
795
|
+
/**
|
|
796
|
+
* 检查 Model 插件动画轨道参数
|
|
797
|
+
* @param v - Model 插件动画轨道参数
|
|
798
|
+
* @returns
|
|
799
|
+
*/
|
|
184
800
|
static checkModelAnimTrackOptions(v: ModelAnimTrackOptions): boolean;
|
|
801
|
+
/**
|
|
802
|
+
* 检查 Model 插件动画参数
|
|
803
|
+
* @param v - Model 插件动画参数
|
|
804
|
+
*/
|
|
185
805
|
static assertModelAnimOptions(v: ModelAnimationOptions): void;
|
|
806
|
+
/**
|
|
807
|
+
* 检查场景树参数
|
|
808
|
+
* @param v - 场景树参数
|
|
809
|
+
*/
|
|
186
810
|
static assertTreeOptions(v: ModelTreeOptions): void;
|
|
811
|
+
/**
|
|
812
|
+
* 将对象转成 JSON 字符串,需要忽略函数和渲染相关的对象
|
|
813
|
+
* @param object - 目标对象
|
|
814
|
+
* @returns
|
|
815
|
+
*/
|
|
187
816
|
static stringify(object: any): string;
|
|
817
|
+
/**
|
|
818
|
+
* 获取 2 的 index 指数结果
|
|
819
|
+
* @param index - 指数
|
|
820
|
+
* @returns
|
|
821
|
+
*/
|
|
188
822
|
static pow2(index: number): number;
|
|
189
823
|
}
|
|
824
|
+
/**
|
|
825
|
+
* 半精度浮点数组类
|
|
826
|
+
*/
|
|
190
827
|
export declare class Float16ArrayWrapper {
|
|
828
|
+
/**
|
|
829
|
+
* 大小
|
|
830
|
+
*/
|
|
191
831
|
size: number;
|
|
832
|
+
/**
|
|
833
|
+
* 数组
|
|
834
|
+
*/
|
|
192
835
|
data: Uint16Array;
|
|
193
836
|
constructor(size: number);
|
|
837
|
+
/**
|
|
838
|
+
* 将类数值数组转成半进度浮点,并从起始索引开始添加
|
|
839
|
+
* @param number - 类数值数组
|
|
840
|
+
* @param startIndex - 起始索引
|
|
841
|
+
*/
|
|
194
842
|
set(number: ArrayLike<number>, startIndex: number): void;
|
|
843
|
+
/**
|
|
844
|
+
* 获取数组字节数
|
|
845
|
+
*/
|
|
195
846
|
get bytes(): number;
|
|
196
847
|
}
|
|
197
848
|
export {};
|