@openheart/tavio-renderer 2.3.8-with-wasm → 2.3.9-with-wasm

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.
@@ -115,7 +115,7 @@ export declare class AnimationController extends EventEmitter {
115
115
  */
116
116
  bloomPoints(duration: number): void;
117
117
  /**
118
- * 点描画からガウシアンへの溶解効果をアニメーションする
118
+ * 点描画からスプラットへの溶解効果をアニメーションする
119
119
  * @param duration - アニメーションの継続時間(ミリ秒)
120
120
  */
121
121
  dissolveToGaussian(duration: number): void;
@@ -11,7 +11,7 @@ export interface iBoxSelectorOption {
11
11
  visible?: boolean;
12
12
  }
13
13
  /**
14
- * 3D ガウシアンを選択するための box インターフェースを提供する
14
+ * スプラットを選択するための box インターフェースを提供する
15
15
  * @class
16
16
  */
17
17
  export declare class BoxSelector extends Selector {
@@ -26,7 +26,7 @@ export interface iIntersection {
26
26
  exit: iIntersectionData;
27
27
  }
28
28
  /**
29
- * 3D ガウシアンを選択するためのインターフェースを提供する基底クラス
29
+ * スプラットを選択するためのインターフェースを提供する基底クラス
30
30
  * @class
31
31
  */
32
32
  export declare abstract class Selector extends EventEmitter {
@@ -6,7 +6,7 @@ export interface iSphereSelectorOption {
6
6
  color?: number;
7
7
  }
8
8
  /**
9
- * 3D ガウシアンを選択するための sphere インターフェースを提供する
9
+ * スプラットを選択するための sphere インターフェースを提供する
10
10
  * @class
11
11
  */
12
12
  export declare class SphereSelector extends Selector {
@@ -1,6 +1,7 @@
1
1
  export declare class ConsoleOutput {
2
2
  label: string;
3
- constructor(label?: string);
3
+ enable: boolean;
4
+ constructor(label?: string, enable?: boolean);
4
5
  log(out: any): void;
5
6
  warn(out: any): void;
6
7
  }
@@ -15,6 +15,7 @@ export interface iPlyData {
15
15
  export interface iSplatData {
16
16
  splatBuffer: ArrayBufferLike;
17
17
  sphericalHarmonicsBuffer: Float32Array;
18
+ sphericalHarmonicsDegrees: number;
18
19
  }
19
20
  export interface iTavioData extends iSplatData {
20
21
  position: Float32Array;
@@ -40,6 +41,11 @@ export declare class PlyDecoder {
40
41
  static ROW_LENGTH_TAVIO: number;
41
42
  /** 球面調和関数の交流成分の数 */
42
43
  static SPHERICAL_HARMONICS_BASE_ELEMENT: number;
44
+ /** 交流成分の次数に対する要素の数 */
45
+ static SH_DEGREES1: number;
46
+ static SH_DEGREES2: number;
47
+ static SH_DEGREES3: number;
48
+ static SH_DEGREES: number[];
43
49
  /** 直流成分の係数 */
44
50
  static SH_C0: number;
45
51
  /** .ply のプロパティのデータタイプと対応付けを行うためのデータ構造 */
@@ -89,8 +95,8 @@ export declare class PlyDecoder {
89
95
  /**
90
96
  * ply データから tavio および球面調和関数の交流成分のデータを生成する
91
97
  * @param data - ヘッダ情報(decodeHeader の戻り値)
92
- * @param start - 対象の 3D ガウシアンの開始インデックス
93
- * @param end - 対象の 3D ガウシアンの終了インデックス
98
+ * @param start - 対象のスプラットの開始インデックス
99
+ * @param end - 対象のスプラットの終了インデックス
94
100
  */
95
101
  static createTavio(data: iPlyData): iTavioData;
96
102
  }
@@ -1,13 +1,10 @@
1
- import { Euler, Group, Matrix4, PerspectiveCamera, Quaternion, RawShaderMaterial, Scene, Vector3, WebGLRenderTarget, WebGLRenderer, PMREMGenerator } from 'three';
1
+ import { Euler, Matrix4, RawShaderMaterial, Vector3, WebGLRenderTarget, WebGLRenderer, PMREMGenerator } from 'three';
2
2
  import { default as EventEmitter } from 'eventemitter3';
3
3
  import { iCollisionTarget } from '../worker/tavioWorker';
4
4
  import { CameraPath } from '../camera/cameraPath';
5
5
  import { CameraPathControls } from '../camera/cameraPathControls';
6
- import { CameraPathManager } from '../camera/cameraPathManager';
7
6
  import { FlightControls, iLatitudeLongitude } from '../camera/flightControls';
8
- import { TransferControls } from '../camera/transferControls';
9
7
  import { OrbitControls } from '../camera/orbitControls';
10
- import { CameraCollider } from '../camera/cameraCollider';
11
8
  import { ConsoleOutput } from '../utility/console';
12
9
  import { iSphereSelectorOption } from '../editor/selector/sphereSelector';
13
10
  import { iBoxSelectorOption } from '../editor/selector/boxSelector';
@@ -15,6 +12,7 @@ import { Selector } from '../editor/selector/selector';
15
12
  import { TavioMesh } from './tavioMesh';
16
13
  import { iAnimationConfig } from '../animation/animationController';
17
14
  import { iMaterialOption } from './materialGenerator';
15
+ import { RenderView } from './renderView';
18
16
  /**
19
17
  * Tavio Viewer のエラーコード
20
18
  */
@@ -33,11 +31,11 @@ export declare class TavioError extends Error {
33
31
  /**
34
32
  * カメラコントロールの種類
35
33
  */
36
- type tControlsType = "orbit" | "path" | "flight";
34
+ export type tControlsType = "orbit" | "path" | "flight";
37
35
  /**
38
36
  * カメラコントロールの型チェック用定義
39
37
  */
40
- type tControlInstance = OrbitControls | CameraPathControls | FlightControls;
38
+ export type tControlInstance = OrbitControls | CameraPathControls | FlightControls;
41
39
  /**
42
40
  * Vector3 と同様に外部データを扱うための型定義
43
41
  */
@@ -49,7 +47,7 @@ export interface iVectorLike {
49
47
  /**
50
48
  * カメラパスコントロールのオプション
51
49
  */
52
- interface iCameraPathOption {
50
+ export interface iCameraPathOption {
53
51
  attenuation?: number;
54
52
  scaleX?: number;
55
53
  scaleY?: number;
@@ -118,6 +116,8 @@ interface iSelectorInfo {
118
116
  */
119
117
  export interface iLoadingOption {
120
118
  useSphericalHarmonics?: boolean;
119
+ autoInsert?: boolean;
120
+ autoBackground?: boolean;
121
121
  }
122
122
  /**
123
123
  * ファイル内に含まれる 3DGS の原点からの距離と割合
@@ -161,51 +161,26 @@ export declare class Core extends EventEmitter {
161
161
  gl: WebGL2RenderingContext;
162
162
  uniforms: any;
163
163
  viewerOption: iViewerOption;
164
+ defaultRenderViewSymbol: Symbol;
165
+ renderViewMap: Map<Symbol | string, RenderView>;
166
+ currentRenderViewName: Symbol | string;
167
+ currentRenderView: RenderView;
164
168
  meshMap: Map<string, TavioMesh>;
165
- controlsMap: Map<string, tControlInstance>;
166
- enableControlsMap: Map<string, boolean>;
167
- currentControlsType: tControlsType;
168
- transferControls: TransferControls;
169
169
  selectorMap: Map<string, Selector>;
170
170
  cameraColliderEnabled: boolean;
171
- cameraCollider: CameraCollider;
172
- cameraPathCollisionRadius: number;
173
- cameraPathManager: CameraPathManager;
174
171
  reversedCollision: boolean;
175
- previousPosition: Vector3;
176
- previousRotation: Quaternion;
177
- previousFov: number;
178
172
  maxDistance: number;
179
173
  isInteractive: boolean;
180
174
  isRendering: boolean;
181
175
  startRendering: number;
182
- isDown: boolean;
183
- isWheel: boolean;
184
176
  isLoading: boolean;
185
- onPointerDown: (evt: PointerEvent) => void;
186
- onPointerUp: (evt: PointerEvent) => void;
187
- onWheel: (evt: WheelEvent) => void;
188
177
  renderer: WebGLRenderer;
189
- scene: Scene;
190
178
  pmremGenerator: PMREMGenerator;
191
- gaussianGroup: Group;
192
- meshGroup: Group;
193
- interfaceGroup: Group;
194
- perspectiveCamera: PerspectiveCamera;
195
179
  gaussianMaterial: RawShaderMaterial;
196
180
  gaussianPickingMaterial: RawShaderMaterial;
197
181
  pickingRenderTarget: WebGLRenderTarget;
198
- pickingScene: Scene;
199
182
  parameters: any;
200
183
  console: ConsoleOutput;
201
- consoleOutput: boolean;
202
- private orbitCursor;
203
- private orbitCursorMaterial;
204
- private orbitCursorGeometry;
205
- private orbitCursorEnabled;
206
- private orbitCursorHorizontal;
207
- private orbitCursorCenter;
208
- private previousOrbitTarget;
209
184
  private animationController;
210
185
  private pathAnimationLocked;
211
186
  /**
@@ -240,7 +215,6 @@ export declare class Core extends EventEmitter {
240
215
  readonly FRAGMENT_MAIN_BEGIN: 11;
241
216
  readonly FRAGMENT_MAIN_IN: 12;
242
217
  readonly FRAGMENT_MAIN_OUT: 13;
243
- /** Float16Array 未対応環境 */
244
218
  readonly FRAGMENT_MAIN_END: 14;
245
219
  };
246
220
  /**
@@ -267,34 +241,44 @@ export declare class Core extends EventEmitter {
267
241
  */
268
242
  init(canvas: HTMLCanvasElement, materialOption?: iViewerMaterialOption): void;
269
243
  /**
270
- * マテリアルをセットアップする
271
- * @param option - シェーダチャンクなどの情報を含むマテリアルオプション
244
+ * レンダービューをセットアップする
272
245
  */
273
- setupMaterial(option?: iViewerMaterialOption): void;
246
+ setupRenderView(): void;
274
247
  /**
275
248
  * カメラコントロール・カメラコライダーをセットアップする
249
+ * @param renderView - セットアップの対象となるレンダービュー
276
250
  */
277
- setupControls(): void;
251
+ setupControls(renderView: RenderView): void;
278
252
  /**
279
253
  * OrbitControls をセットアップする
254
+ * @param renderView - セットアップの対象となるレンダービュー
280
255
  */
281
- setupOrbitControls(): void;
256
+ setupOrbitControls(renderView: RenderView): void;
282
257
  /**
283
258
  * CameraPathControls をセットアップする
259
+ * @param renderView - セットアップの対象となるレンダービュー
284
260
  */
285
- setupCameraPathControls(): void;
261
+ setupCameraPathControls(renderView: RenderView): void;
286
262
  /**
287
263
  * FlightControls をセットアップする
264
+ * @param renderView - セットアップの対象となるレンダービュー
288
265
  */
289
- setupFlightControls(): void;
266
+ setupFlightControls(renderView: RenderView): void;
290
267
  /**
291
268
  * TransferControls をセットアップする
269
+ * @param renderView - セットアップの対象となるレンダービュー
292
270
  */
293
- setupTransferControls(): void;
271
+ setupTransferControls(renderView: RenderView): void;
294
272
  /**
295
273
  * CameraCollider をセットアップする
274
+ * @param renderView - セットアップの対象となるレンダービュー
275
+ */
276
+ setupCameraCollider(renderView: RenderView): void;
277
+ /**
278
+ * マテリアルをセットアップする
279
+ * @param option - シェーダチャンクなどの情報を含むマテリアルオプション
296
280
  */
297
- setupCameraCollider(): void;
281
+ setupMaterial(option?: iViewerMaterialOption): void;
298
282
  /**
299
283
  * セレクターをセットアップする
300
284
  */
@@ -316,12 +300,14 @@ export declare class Core extends EventEmitter {
316
300
  * TavioMesh を生成しロード前の共通処理を行う
317
301
  * @private
318
302
  * @param name - このメッシュの固有名
303
+ * @param option - ロード・パース関連のオプション
319
304
  */
320
305
  private _beforeLoadMesh;
321
306
  /**
322
307
  * TavioMesh のロード後の共通処理を行う
323
308
  * @private
324
309
  * @param name - 設定する名前
310
+ * @param option - ロード・パース関連のオプション
325
311
  */
326
312
  private _afterLoadMesh;
327
313
  /**
@@ -356,38 +342,44 @@ export declare class Core extends EventEmitter {
356
342
  * TavioMesh のインスタンスを生成し splat 形式のリソースをロード、シーンに追加する
357
343
  * @param name - このメッシュの固有名
358
344
  * @param url - 読み込む .splat ファイル
345
+ * @param option - ロード・パース関連のオプション
359
346
  */
360
- loadSplat(name: string, url: string): Promise<void>;
347
+ loadSplat(name: string, url: string, option?: iLoadingOption): Promise<void>;
361
348
  /**
362
349
  * 既存の TavioMesh のインスタンスにデータを統合する
363
350
  * @param name - このメッシュの固有名
364
351
  * @param url - 読み込む .splat ファイル
352
+ * @param option - ロード・パース関連のオプション
365
353
  */
366
- concatSplat(name: string, url: string): Promise<void>;
354
+ concatSplat(name: string, url: string, option?: iLoadingOption): Promise<void>;
367
355
  /**
368
356
  * TavioMesh のインスタンスを生成し画像形式のリソースをロード、シーンに追加する
369
357
  * @param name - このメッシュの固有名
370
358
  * @param url - 読み込む画像ファイル
359
+ * @param option - ロード・パース関連のオプション
371
360
  */
372
- loadImage(name: string, url: string): Promise<void>;
361
+ loadImage(name: string, url: string, option?: iLoadingOption): Promise<void>;
373
362
  /**
374
363
  * 既存の TavioMesh のインスタンスにデータを統合する
375
364
  * @param name - このメッシュの固有名
376
365
  * @param url - 読み込む画像ファイル
366
+ * @param option - ロード・パース関連のオプション
377
367
  */
378
- concatImage(name: string, url: string): Promise<void>;
368
+ concatImage(name: string, url: string, option?: iLoadingOption): Promise<void>;
379
369
  /**
380
370
  * canvas 要素から TavioMesh のインスタンスを生成し、シーンに追加する
381
371
  * @param name - このメッシュの固有名
382
372
  * @param canvas - 処理の対象となる canvas 要素
373
+ * @param option - ロード・パース関連のオプション
383
374
  */
384
- loadCanvas(name: string, canvas: HTMLCanvasElement): Promise<void>;
375
+ loadCanvas(name: string, canvas: HTMLCanvasElement, option?: iLoadingOption): Promise<void>;
385
376
  /**
386
377
  * 既存の TavioMesh のインスタンスにデータを統合する
387
378
  * @param name - このメッシュの固有名
388
379
  * @param canvas - 処理の対象となる canvas 要素
380
+ * @param option - ロード・パース関連のオプション
389
381
  */
390
- concatCanvas(name: string, canvas: HTMLCanvasElement): Promise<void>;
382
+ concatCanvas(name: string, canvas: HTMLCanvasElement, option?: iLoadingOption): Promise<void>;
391
383
  /**
392
384
  * tavio 形式のリソースをロードする
393
385
  * @param name - このメッシュの固有名
@@ -443,15 +435,21 @@ export declare class Core extends EventEmitter {
443
435
  */
444
436
  saveSpzWasm(name: string, fileName: string): Promise<void>;
445
437
  /**
446
- * 名前を指定してロード済み TavioMesh をシーンに追加する
438
+ * 名前を指定してロード済み TavioMesh を現在のレンダービューに追加する
447
439
  * @param name - 対象の名前
448
440
  */
449
- addTavioMesh(name: string): Promise<void>;
441
+ addTavioMesh(name: string): void;
450
442
  /**
451
443
  * 名前を指定してロード済み TavioMesh をシーンから取り除く
452
444
  * @param name - 対象の名前
445
+ * @param renderViewName - 対象となるレンダービューの名前
453
446
  */
454
- removeTavioMesh(name: string): Promise<void>;
447
+ removeTavioMesh(name: string, renderViewName?: string | Symbol): void;
448
+ /**
449
+ * 名前を指定してロード済み TavioMesh をシーンから取り除く
450
+ * @param name - 対象の名前
451
+ */
452
+ removeTavioMeshAllRenderView(name: string): void;
455
453
  /**
456
454
  * 名前を指定して TavioMesh を削除・解放する
457
455
  * @param name - 対象の名前
@@ -462,7 +460,7 @@ export declare class Core extends EventEmitter {
462
460
  * @param name - 対象の名前
463
461
  * @param visibility - 可視状態
464
462
  */
465
- setVisibilityTavioMesh(name: string, visibility: boolean): Promise<void>;
463
+ setVisibilityTavioMesh(name: string, visibility: boolean): void;
466
464
  /**
467
465
  * 名前を指定して TavioMesh の点描画用 Points の表示・非表示を設定する
468
466
  * @param name - 対象の名前
@@ -474,6 +472,11 @@ export declare class Core extends EventEmitter {
474
472
  * @param opacity - 透明度
475
473
  */
476
474
  setBackgroundOpacity(opacity: number): void;
475
+ /**
476
+ * 名前を指定してロード済み TavioMesh から背景を設定する
477
+ * @param name - 対象の名前
478
+ */
479
+ setBackgroundByTavioMesh(name: string): void;
477
480
  /**
478
481
  * 名前を指定した TavioMesh に含まれるインスタンスを、インデックスで指定して動かす
479
482
  * ※ここでいうインデックスとは load/concat した順番を意味する整数値(concat していない場合常に 0)
@@ -554,7 +557,7 @@ export declare class Core extends EventEmitter {
554
557
  * @param y - 取得する Y 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標, Y-down)
555
558
  * @param isDebug - デバッグモード(有効化するとピッキングバッファを可視化)
556
559
  */
557
- getWorldPositionByScreen(x: number, y: number, isDebug?: boolean): Promise<iPickingInfo>;
560
+ getWorldPositionByRenderView(x: number, y: number, isDebug?: boolean): Promise<iPickingInfo>;
558
561
  /**
559
562
  * 各種リソースを解放する
560
563
  * ※このメソッドを呼び出すと、それまで利用していた canvas は再利用できなくなる
@@ -563,7 +566,7 @@ export declare class Core extends EventEmitter {
563
566
  dispose(): void;
564
567
  /**
565
568
  * ビューポートの情報を uniform 変数に設定する
566
- * @private
569
+ * @param renderView - 対象となるレンダービュー
567
570
  */
568
571
  private _updateViewportUniforms;
569
572
  /**
@@ -571,6 +574,51 @@ export declare class Core extends EventEmitter {
571
574
  * @param isForce - 強制的に実行するかどうか
572
575
  */
573
576
  private _renderDepthRenderTarget;
577
+ /**
578
+ * ==========================================================================
579
+ * renderview
580
+ * ==========================================================================
581
+ */
582
+ /**
583
+ * レンダービューを設定する
584
+ * @param renderViewName - 対象となるレンダービューの名前
585
+ */
586
+ setRenderView(renderViewName: string | Symbol | null): void;
587
+ /**
588
+ * レンダービューの個数を返す
589
+ */
590
+ getRenderViewCount(): number;
591
+ /**
592
+ * アクティブなレンダービューの名前を返す
593
+ * ※既定のレンダービューがアクティブな場合 null が返る
594
+ */
595
+ getCurrentRenderViewName(): string | null;
596
+ /**
597
+ * レンダービューを生成する(生成したインスタンスを呼び出し元に返さない)
598
+ * @param name - 生成されるレンダービューの固有名
599
+ */
600
+ createRenderView(name: string): void;
601
+ /**
602
+ * レンダービューに位置とサイズを設定する
603
+ * ※原点が左下角である点に注意(スクリーン座標系と上下が逆)
604
+ * @param renderViewName - 対象となるレンダービューの名前
605
+ * @param x - 矩形の左下角の横位置
606
+ * @param y - 矩形の左下角の縦位置
607
+ * @param width - 幅
608
+ * @param height - 高さ
609
+ * @param start - 同時に描画を開始するかどうか
610
+ */
611
+ setRenderViewSize(renderViewName?: string | Symbol | null, x?: number, y?: number, width?: number, height?: number, start?: boolean): void;
612
+ /**
613
+ * レンダービューを生成し、各種コントロールのセットアップも同時に行う
614
+ * @param name - 生成されるレンダービューの固有名
615
+ */
616
+ private _createRenderView;
617
+ /**
618
+ * 名前を指定してレンダービューを取得する
619
+ * @param renderViewName - 対象となるレンダービューの名前
620
+ */
621
+ private _getRenderView;
574
622
  /**
575
623
  * ==========================================================================
576
624
  * camera
@@ -587,7 +635,7 @@ export declare class Core extends EventEmitter {
587
635
  * @param target - 設定する注視点
588
636
  * @param fov - 設定する視野角
589
637
  */
590
- setCameraParameter(position: iVectorLike | null, target?: iVectorLike | null, fov?: number | null): void;
638
+ setCameraParameter(position?: iVectorLike | null, target?: iVectorLike | null, fov?: number | null): void;
591
639
  /**
592
640
  * ==========================================================================
593
641
  * controls
@@ -888,28 +936,33 @@ export declare class Core extends EventEmitter {
888
936
  * @param uniforms - 設定する値を定義したオブジェクト
889
937
  */
890
938
  private _setPointUniforms;
939
+ /**
940
+ * MaterialGenerator で独自に拡張した defines を更新する
941
+ * @param customUniforms - 設定・更新する defines
942
+ */
943
+ setCustomDefines(customDefines: any): void;
891
944
  /**
892
945
  * MaterialGenerator で独自に拡張した uniform 変数を更新する
893
946
  * @param customUniforms - 設定・更新する uniform 変数
894
947
  */
895
948
  setCustomUniforms(customUniforms: any): void;
896
949
  /**
897
- * ガウシアンの大きさの基本係数を設定する
950
+ * スプラットの大きさの基本係数を設定する
898
951
  * @param value - 設定する係数(0.0 to 1.0)
899
952
  */
900
953
  setGaussianScale(value: number): void;
901
954
  /**
902
- * 距離に応じたガウシアンの大きさにおける最小値を設定する
955
+ * 距離に応じたスプラットの大きさにおける最小値を設定する
903
956
  * @param value - 設定する係数(0.0 to 1.0)
904
957
  */
905
958
  setEffectMinimumScale(value: number): void;
906
959
  /**
907
- * 距離に応じたガウシアンの大きさ係数を設定する
960
+ * 距離に応じたスプラットの大きさ係数を設定する
908
961
  * @param value - 設定する係数(0.0 to 1.0)
909
962
  */
910
963
  setEffectDistanceBase(value: number): void;
911
964
  /**
912
- * 距離に応じたガウシアンの範囲係数を設定する
965
+ * 距離に応じたスプラットの範囲係数を設定する
913
966
  * @param value - 設定する係数(0.0 < n <= 1.0)
914
967
  */
915
968
  setEffectDistanceRange(value: number): void;
@@ -992,12 +1045,12 @@ export declare class Core extends EventEmitter {
992
1045
  setColorRGB(rgb: iVectorLike): void;
993
1046
  /**
994
1047
  * シェーダ上で作用する blur を設定する
995
- * @param blur - ガウシアン内で色をぼかす係数(適切な範囲はおよそ 0.0 ~ 1.0)
1048
+ * @param blur - スプラット内で色をぼかす係数(適切な範囲はおよそ 0.0 ~ 1.0)
996
1049
  */
997
1050
  setColorBlur(blur: number): void;
998
1051
  /**
999
1052
  * シェーダ上で作用する sharpness を設定する
1000
- * @param sharpness - ガウシアン内で色を強調する係数(適切な範囲はおよそ 0.0 ~ 1.0)
1053
+ * @param sharpness - スプラット内で色を強調する係数(適切な範囲はおよそ 0.0 ~ 1.0)
1001
1054
  */
1002
1055
  setColorSharpness(sharpness: number): void;
1003
1056
  /**
@@ -1016,7 +1069,7 @@ export declare class Core extends EventEmitter {
1016
1069
  */
1017
1070
  startBloomPoints(duration: number): void;
1018
1071
  /**
1019
- * 点描画からガウシアンへの溶解効果をアニメーションする
1072
+ * 点描画からスプラットへの溶解効果をアニメーションする
1020
1073
  * @param duration - アニメーションの継続時間(ミリ秒)
1021
1074
  */
1022
1075
  startDissolveToGaussian(duration: number): void;
@@ -1101,7 +1154,7 @@ export declare class Core extends EventEmitter {
1101
1154
  */
1102
1155
  resetCollision(): void;
1103
1156
  /**
1104
- * 現在選択しているガウシアンを削除状態とする
1157
+ * 現在選択しているスプラットを削除状態とする
1105
1158
  */
1106
1159
  deleteSelectedGaussian(): void;
1107
1160
  /**
@@ -78,6 +78,7 @@ export interface iShaderChunk {
78
78
  export interface iMaterialOption {
79
79
  target: tChunkTarget;
80
80
  uniforms?: any;
81
+ defines?: any;
81
82
  vertex?: iShaderChunk | iShaderChunk[];
82
83
  fragment?: iShaderChunk | iShaderChunk[];
83
84
  }
@@ -0,0 +1,67 @@
1
+ import { Group, PerspectiveCamera, Quaternion, Scene, Vector3 } from 'three';
2
+ import { tControlInstance, tControlsType } from './canvas';
3
+ import { CameraCollider } from '../camera/cameraCollider';
4
+ import { TransferControls } from '../camera/transferControls';
5
+ import { CameraPathManager } from '../camera/cameraPathManager';
6
+ /**
7
+ * レンダービューはビューポートの設定値、シーングラフとカメラ、カメラコントロールなどを包含する
8
+ * canvas.ts 内でレンダリングを行う際などに参照され、マルチビューを実現するために実装された
9
+ * name プロパティに Symbol が指定されている場合、それは既定のレンダービューで初期化時に自動生成される
10
+ * TavioMesh(の名前)が add メソッドによって追加されている場合、対象のレンダービュー上で描画される
11
+ * 追加された TavioMesh は children プロパティに格納され、描画時に動的にシーングラフに追加される
12
+ */
13
+ export declare class RenderView {
14
+ readonly name: string | Symbol;
15
+ enabled: boolean;
16
+ children: string[];
17
+ x: number;
18
+ y: number;
19
+ width: number;
20
+ height: number;
21
+ scene: Scene;
22
+ pickingScene: Scene;
23
+ gaussianGroup: Group;
24
+ meshGroup: Group;
25
+ interfaceGroup: Group;
26
+ perspectiveCamera: PerspectiveCamera;
27
+ controlsMap: Map<string, tControlInstance>;
28
+ enableControlsMap: Map<string, boolean>;
29
+ currentControlsType: tControlsType;
30
+ transferControls: TransferControls;
31
+ cameraCollider: CameraCollider;
32
+ cameraPathCollisionRadius: number;
33
+ cameraPathManager: CameraPathManager;
34
+ previousPosition: Vector3;
35
+ previousRotation: Quaternion;
36
+ previousFov: number;
37
+ orbitCursor: Group;
38
+ orbitCursorEnabled: boolean;
39
+ previousOrbitTarget: Vector3;
40
+ /**
41
+ * @param name - レンダービューの名前
42
+ */
43
+ constructor(name: string | Symbol);
44
+ /**
45
+ * レンダービューに該当する名前の TavioMesh が含まれるかどうかを返す
46
+ * @param meshName - 対象となる TavioMesh の名前
47
+ */
48
+ has(meshName: string): boolean;
49
+ /**
50
+ * レンダービューに TavioMesh を追加する
51
+ * @param meshName - 対象となる TavioMesh の名前
52
+ */
53
+ add(meshName: string): void;
54
+ /**
55
+ * レンダービューから TavioMesh を削除する
56
+ * @param meshName - 対象となる TavioMesh の名前
57
+ */
58
+ remove(meshName: string): void;
59
+ /**
60
+ * レンダービューからすべての TavioMesh を削除する
61
+ */
62
+ removeAll(): void;
63
+ /**
64
+ * 解放処理
65
+ */
66
+ dispose(): void;
67
+ }