@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.
Files changed (41) hide show
  1. package/dist/gesture/index.d.ts +5 -4
  2. package/dist/gltf/loader-helper.d.ts +1 -3
  3. package/dist/index.d.ts +4 -0
  4. package/dist/index.js +8358 -6785
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +2 -2
  7. package/dist/index.mjs +8357 -6784
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/loader.mjs +10070 -4913
  10. package/dist/loader.mjs.map +1 -1
  11. package/dist/plugin/const.d.ts +3 -0
  12. package/dist/plugin/index.d.ts +0 -2
  13. package/dist/plugin/model-item.d.ts +258 -0
  14. package/dist/plugin/model-plugin.d.ts +91 -18
  15. package/dist/plugin/model-tree-item.d.ts +113 -6
  16. package/dist/plugin/model-tree-plugin.d.ts +9 -8
  17. package/dist/runtime/anim-sampler.d.ts +20 -0
  18. package/dist/runtime/animation.d.ts +179 -26
  19. package/dist/runtime/cache.d.ts +75 -0
  20. package/dist/runtime/camera.d.ts +130 -5
  21. package/dist/runtime/common.d.ts +143 -4
  22. package/dist/runtime/light.d.ts +95 -6
  23. package/dist/runtime/material.d.ts +306 -1
  24. package/dist/runtime/math.d.ts +2 -0
  25. package/dist/runtime/mesh.d.ts +242 -32
  26. package/dist/runtime/object.d.ts +88 -10
  27. package/dist/runtime/scene.d.ts +156 -27
  28. package/dist/runtime/shader-libs/standard-shader-source.d.ts +10 -0
  29. package/dist/runtime/shader-libs/standard-shader.d.ts +16 -0
  30. package/dist/runtime/shader.d.ts +33 -1
  31. package/dist/runtime/skybox.d.ts +233 -9
  32. package/dist/utility/debug-helper.d.ts +14 -0
  33. package/dist/utility/hit-test-helper.d.ts +39 -3
  34. package/dist/utility/plugin-helper.d.ts +665 -14
  35. package/dist/utility/ri-helper.d.ts +67 -0
  36. package/dist/utility/shader-helper.d.ts +55 -0
  37. package/dist/utility/ts-helper.d.ts +6 -0
  38. package/package.json +4 -4
  39. package/dist/plugin/model-tree-vfx-item.d.ts +0 -15
  40. package/dist/plugin/model-vfx-item.d.ts +0 -28
  41. 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
- static preprocessEffectsScene(scene: Scene, runtimeEnv: string, compatibleMode: string, autoAdjustScene: boolean): EffectsSceneInfo;
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
- static checkNumberUndef(v: number | undefined): boolean;
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
- static checkNumber01Undef(v: number | undefined): boolean;
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
- static checkNonnegativeUndef(v: number | undefined): boolean;
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
- static checkBooleanUndef(v: boolean | undefined): boolean;
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
- static checkStringUndef(v: string | undefined): boolean;
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
- static checkFloat32ArrayUndef(v: Float32Array | undefined): boolean;
157
- static checkParent(v: number | undefined): boolean;
158
- static checkTexCoord(v: number | undefined): boolean;
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
- static checkTextureUndef(v: Texture | undefined): boolean;
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
- static checkTexTransformUndef(v: ModelTextureTransform | undefined): boolean;
170
- static checkMatBlending(v: spec.MaterialBlending | undefined): boolean;
171
- static checkMatSide(v: spec.SideMode | undefined): boolean;
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 {};