@openheart/tavio-renderer 2.3.30-with-wasm → 2.4.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/build/esm/assets/{tavio-JUxSmuMi.js → tavio-DVLlyem4.js} +211 -211
- package/build/esm/assets/{workerHelpers-yS8SNwfU.js → workerHelpers-BWRcUO-d.js} +1 -1
- package/build/esm/index.js +7366 -6111
- package/build/esm/types/editor/selector/boxSelector.d.ts +4 -3
- package/build/esm/types/module.d.ts +5 -4
- package/build/esm/types/viewer/canvas.d.ts +150 -1560
- package/build/esm/types/viewer/constants.d.ts +99 -0
- package/build/esm/types/viewer/driver/coreDriver.d.ts +1402 -0
- package/build/esm/types/viewer/driver/iCoreDriver.d.ts +206 -0
- package/build/esm/types/viewer/driver/offscreenDriver.d.ts +222 -0
- package/build/esm/types/viewer/driver/rpcBridge.d.ts +39 -0
- package/build/esm/types/viewer/driver/workerElementAdapter.d.ts +66 -0
- package/build/esm/types/viewer/materialGenerator.d.ts +24 -27
- package/build/esm/types/viewer/renderView.d.ts +4 -3
- package/build/esm/types/viewer/shaderRegistry.d.ts +22 -0
- package/build/esm/types/viewer/tavioMesh/localTransform.d.ts +65 -0
- package/build/esm/types/viewer/tavioMesh/minMaxRange.d.ts +47 -0
- package/build/esm/types/viewer/tavioMesh/parsers/imageParser.d.ts +14 -0
- package/build/esm/types/{utility/plyDecoder.d.ts → viewer/tavioMesh/parsers/plyParser.d.ts} +4 -15
- package/build/esm/types/viewer/tavioMesh/parsers/splatParser.d.ts +12 -0
- package/build/esm/types/viewer/tavioMesh/selection.d.ts +39 -0
- package/build/esm/types/viewer/{tavioMesh.d.ts → tavioMesh/tavioMesh.d.ts} +73 -62
- package/build/esm/types/viewer/types.d.ts +376 -0
- package/build/esm/types/worker/renderingWorker.d.ts +8 -0
- package/build/esm/types/worker/tavioWorker.d.ts +1 -1
- package/build/esm/wasm/pkg/no-thread/tavio.d.ts +13 -13
- package/build/esm/wasm/pkg/no-thread/tavio.js +125 -125
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm.d.ts +13 -13
- package/build/esm/wasm/pkg/thread/tavio.d.ts +16 -16
- package/build/esm/wasm/pkg/thread/tavio.js +154 -154
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm.d.ts +16 -16
- package/package.json +1 -1
- package/build/esm/types/animation/animationController.d.ts +0 -146
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Vector3, Quaternion, DataTexture, RawShaderMaterial } from 'three';
|
|
2
|
+
import { iLocalTransformInfo, iSourceProperty } from '../types';
|
|
3
|
+
import { InstancedMeshEX } from '../../extension/InstancedMeshEX';
|
|
4
|
+
/**
|
|
5
|
+
* スプラット個別のローカル座標変換(平行移動・回転・スケール)を管理するクラス
|
|
6
|
+
*/
|
|
7
|
+
export declare class LocalTransform {
|
|
8
|
+
/** ローカルモデル変換用データ */
|
|
9
|
+
data: Uint32Array | null;
|
|
10
|
+
/** 複数選択時の相対変形基準用退避バッファ */
|
|
11
|
+
temporaryData: Uint32Array | null;
|
|
12
|
+
/** ローカルモデル変換データ用の GPU テクスチャ */
|
|
13
|
+
texture: DataTexture | null;
|
|
14
|
+
/** テクスチャの一辺の幅 */
|
|
15
|
+
textureWidth: number;
|
|
16
|
+
/** ローカル変換が更新されたかどうかのフラグ(ソート同期用) */
|
|
17
|
+
updated: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* ローカル変換バッファを初期化する
|
|
20
|
+
* @param count - 全スプラット数
|
|
21
|
+
* @param generalData - 汎用データバッファ(選択状態の判定用)
|
|
22
|
+
* @param offset - 処理開始オフセット
|
|
23
|
+
* @param onlySelected - 選択中のスプラットのみ初期化するかどうか
|
|
24
|
+
*/
|
|
25
|
+
init(count: number, generalData: Uint8Array | null, offset?: number, onlySelected?: boolean): void;
|
|
26
|
+
/**
|
|
27
|
+
* ローカル変換用テクスチャを生成・更新し、対象マテリアルの uniform 変数へ反映する
|
|
28
|
+
* @param count - 全スプラット数
|
|
29
|
+
* @param materials - 反映対象の RawShaderMaterial の配列
|
|
30
|
+
*/
|
|
31
|
+
updateTexture(count: number, materials: (RawShaderMaterial | null)[]): void;
|
|
32
|
+
/**
|
|
33
|
+
* 現在のローカル変換データを退避バッファへバックアップする
|
|
34
|
+
*/
|
|
35
|
+
backup(): void;
|
|
36
|
+
/**
|
|
37
|
+
* 選択中のスプラットに対してローカル変換を絶対値で設定する
|
|
38
|
+
* @param count - 全スプラット数
|
|
39
|
+
* @param generalData - 汎用データバッファ(選択判定用)
|
|
40
|
+
* @param translation - 平行移動量
|
|
41
|
+
* @param rotation - クォータニオン回転
|
|
42
|
+
* @param scale - 3軸スケール
|
|
43
|
+
*/
|
|
44
|
+
applyToSelected(count: number, generalData: Uint8Array, translation: Vector3, rotation: Quaternion, scale: Vector3): void;
|
|
45
|
+
/**
|
|
46
|
+
* 選択中のスプラットに対して、退避バッファを基準とした相対的なローカル変換を適用する
|
|
47
|
+
* @param count - 全スプラット数
|
|
48
|
+
* @param generalData - 汎用データバッファ
|
|
49
|
+
* @param sourceProperty - 各ソースファイルのプロパティ
|
|
50
|
+
* @param mesh - メインメッシュ(スケール計算用)
|
|
51
|
+
* @param translation - 相対平行移動
|
|
52
|
+
* @param rotation - 相対回転
|
|
53
|
+
* @param scale - 相対スケール
|
|
54
|
+
* @param initialQuaternion - 単体選択時の初期クォータニオン
|
|
55
|
+
*/
|
|
56
|
+
applyToSelectedRelative(count: number, generalData: Uint8Array, sourceProperty: iSourceProperty[], mesh: InstancedMeshEX | null, translation: Vector3, rotation: Quaternion, scale: Vector3, initialQuaternion?: Quaternion): void;
|
|
57
|
+
/**
|
|
58
|
+
* 現在選択されているスプラットのトランスフォーム情報を計算して返す
|
|
59
|
+
*/
|
|
60
|
+
getSelectedTransformInfo(count: number, generalData: Uint8Array, dataTexture: DataTexture, sourceProperty: iSourceProperty[], mesh: InstancedMeshEX | null): iLocalTransformInfo | null;
|
|
61
|
+
/**
|
|
62
|
+
* リソースを解放する
|
|
63
|
+
*/
|
|
64
|
+
dispose(): void;
|
|
65
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { iParsedSplatData } from '../types';
|
|
2
|
+
export interface iMinMaxMergeProps {
|
|
3
|
+
scale: {
|
|
4
|
+
min: [number, number, number];
|
|
5
|
+
max: [number, number, number];
|
|
6
|
+
};
|
|
7
|
+
alpha: {
|
|
8
|
+
min: [number];
|
|
9
|
+
max: [number];
|
|
10
|
+
};
|
|
11
|
+
previousScale: {
|
|
12
|
+
min: [number, number, number];
|
|
13
|
+
max: [number, number, number];
|
|
14
|
+
};
|
|
15
|
+
previousAlpha: {
|
|
16
|
+
min: [number];
|
|
17
|
+
max: [number];
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* スプラットの min-max をマテリアルの uniform に反映し、
|
|
22
|
+
* 既存データとの統合時(isFirst === false)に必要な再スケーリング用プロパティを生成する。
|
|
23
|
+
*
|
|
24
|
+
* @param uniforms - gaussianMaterial の uniforms オブジェクト
|
|
25
|
+
* @param minMax - パースされた新規スプラットの minMax
|
|
26
|
+
* @param isFirst - これが最初のデータかどうか
|
|
27
|
+
* @returns 既存データとの統合時に Worker へ送る再スケーリング用パラメータ(初回は null)
|
|
28
|
+
*/
|
|
29
|
+
export declare function applyMinMax(uniforms: {
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
scaleAlphaMin?: {
|
|
32
|
+
value: {
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
z: number;
|
|
36
|
+
w: number;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
scaleAlphaMax?: {
|
|
40
|
+
value: {
|
|
41
|
+
x: number;
|
|
42
|
+
y: number;
|
|
43
|
+
z: number;
|
|
44
|
+
w: number;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
}, minMax: iParsedSplatData["minMax"], isFirst: boolean): iMinMaxMergeProps | null;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { iParsedSplatData, tImageSource } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* 画像および Canvas 要素(ビットマップソース)のパーサー
|
|
4
|
+
*/
|
|
5
|
+
export declare class ImageParser {
|
|
6
|
+
/**
|
|
7
|
+
* 画像や canvas のビットマップからスプラット用のデータを生成する
|
|
8
|
+
* ※ OffscreenCanvas 環境(Worker スレッド)およびメインスレッド環境の双方に対応
|
|
9
|
+
* @param imageSource - 対象となる画像や canvas、ImageBitmap
|
|
10
|
+
*/
|
|
11
|
+
static parse(imageSource: tImageSource | ImageBitmap | OffscreenCanvas): iParsedSplatData;
|
|
12
|
+
}
|
|
13
|
+
/** 互換用の関数エクスポート */
|
|
14
|
+
export declare const convertImageSource: typeof ImageParser.parse;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { iParsedSplatData } from '../../types';
|
|
1
2
|
type tTypedArray = Float64Array | Float32Array | Int32Array | Uint32Array | Int16Array | Uint16Array | Uint8Array;
|
|
2
3
|
type tTypedArrayConstructor = Float64ArrayConstructor | Float32ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Uint8ArrayConstructor;
|
|
3
4
|
export interface iPlyElement {
|
|
@@ -18,22 +19,10 @@ export interface iSplatData {
|
|
|
18
19
|
sphericalHarmonicsBuffer: Float32Array;
|
|
19
20
|
sphericalHarmonicsDegrees: number;
|
|
20
21
|
}
|
|
21
|
-
export interface iTavioData extends iSplatData {
|
|
22
|
-
position: Float32Array;
|
|
23
|
-
color: Uint8ClampedArray;
|
|
24
|
-
scaleMinX: number;
|
|
25
|
-
scaleMinY: number;
|
|
26
|
-
scaleMinZ: number;
|
|
27
|
-
alphaMin: number;
|
|
28
|
-
scaleMaxX: number;
|
|
29
|
-
scaleMaxY: number;
|
|
30
|
-
scaleMaxZ: number;
|
|
31
|
-
alphaMax: number;
|
|
32
|
-
}
|
|
33
22
|
/**
|
|
34
|
-
* PLY
|
|
23
|
+
* PLY 形式の中身確認用簡易パーサー
|
|
35
24
|
*/
|
|
36
|
-
export declare class
|
|
25
|
+
export declare class PlyParser {
|
|
37
26
|
/** ヘッダとして読み込むバイト長 */
|
|
38
27
|
static HEADER_READ_BYTE_LENGTH: number;
|
|
39
28
|
/** splat データの1つあたりのバイトサイズ */
|
|
@@ -81,6 +70,6 @@ export declare class PlyDecoder {
|
|
|
81
70
|
* @param start - 対象のスプラットの開始インデックス
|
|
82
71
|
* @param end - 対象のスプラットの終了インデックス
|
|
83
72
|
*/
|
|
84
|
-
static createTavio(data: iPlyData):
|
|
73
|
+
static createTavio(data: iPlyData): iParsedSplatData;
|
|
85
74
|
}
|
|
86
75
|
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { iParsedSplatData } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* .splat 形式(32 バイト/スプラット)のバイナリパーサー
|
|
4
|
+
*/
|
|
5
|
+
export declare class SplatParser {
|
|
6
|
+
/**
|
|
7
|
+
* .splat 形式のバイナリデータをパースし、ROW_LENGTH_TAVIO 形式のバッファおよび min-max を生成する
|
|
8
|
+
* @param source - .splat バイナリ全体の ArrayBufferLike または Uint8Array
|
|
9
|
+
* @param count - スプラットの総数(省略時は byteLength / ROW_LENGTH_SPLAT)
|
|
10
|
+
*/
|
|
11
|
+
static parse(source: ArrayBufferLike | Uint8Array, count?: number): iParsedSplatData;
|
|
12
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DataTexture, RawShaderMaterial } from 'three';
|
|
2
|
+
/**
|
|
3
|
+
* スプラットの選択状態(R チャンネル)および削除世代(G チャンネル)を管理するクラス
|
|
4
|
+
*/
|
|
5
|
+
export declare class Selection {
|
|
6
|
+
/** 汎用データバッファ(RGBA Uint8) */
|
|
7
|
+
generalData: Uint8Array | null;
|
|
8
|
+
/** 汎用データテクスチャ */
|
|
9
|
+
generalDataTexture: DataTexture | null;
|
|
10
|
+
/** 現在選択されているスプラットの総数 */
|
|
11
|
+
selectionCount: number;
|
|
12
|
+
/**
|
|
13
|
+
* 汎用データテクスチャを生成・更新し、対象マテリアルの uniform 変数へ反映する
|
|
14
|
+
* @param count - 全スプラット数
|
|
15
|
+
* @param materials - 反映対象の RawShaderMaterial の配列
|
|
16
|
+
*/
|
|
17
|
+
updateTexture(count: number, materials: (RawShaderMaterial | null)[]): void;
|
|
18
|
+
/**
|
|
19
|
+
* 現在の衝突判定・選択状態を解除する
|
|
20
|
+
*/
|
|
21
|
+
resetCollision(): void;
|
|
22
|
+
/**
|
|
23
|
+
* 現在選択しているスプラットを削除状態とする
|
|
24
|
+
* @returns 削除が実行されたかどうか(選択スプラットが存在したか)
|
|
25
|
+
*/
|
|
26
|
+
deleteSelected(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 削除状態を一世代前に戻す(Undo)
|
|
29
|
+
*/
|
|
30
|
+
undoDeleted(): void;
|
|
31
|
+
/**
|
|
32
|
+
* すべての削除状態をリセットする
|
|
33
|
+
*/
|
|
34
|
+
resetDeleted(): void;
|
|
35
|
+
/**
|
|
36
|
+
* リソースを解放する
|
|
37
|
+
*/
|
|
38
|
+
dispose(): void;
|
|
39
|
+
}
|
|
@@ -1,30 +1,23 @@
|
|
|
1
1
|
import { Camera, CubeTexture, DataTexture, Euler, PerspectiveCamera, Points, Quaternion, RawShaderMaterial, Texture, Vector2, Vector3, WebGLRenderer } from 'three';
|
|
2
2
|
import { default as EventEmitter } from 'eventemitter3';
|
|
3
|
-
import { iLoadingOption, iViewerOption, iHeaderInfo, iTransform,
|
|
4
|
-
import { iCollisionTarget } from '
|
|
5
|
-
import { InstancedMeshEX } from '
|
|
6
|
-
import { RenderView } from '
|
|
3
|
+
import { iLoadingOption, iViewerOption, iHeaderInfo, iTransform, tSelectionMode, iLocalTransformInfo, tUniformValue, tCustomDefines } from '../types';
|
|
4
|
+
import { iCollisionTarget } from '../../worker/tavioWorker';
|
|
5
|
+
import { InstancedMeshEX } from '../../extension/InstancedMeshEX';
|
|
6
|
+
import { RenderView } from '../renderView';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* 32bit 符号なし整数テクスチャ (RGBA32UI) を生成する
|
|
9
|
+
* @param data - 書き込むデータ
|
|
10
|
+
* @param width - テクスチャの幅
|
|
11
|
+
* @param height - テクスチャの高さ
|
|
9
12
|
*/
|
|
10
|
-
|
|
13
|
+
export declare const createUint32DataTexture: (data: Uint32Array, width: number, height: number) => DataTexture;
|
|
11
14
|
/**
|
|
12
|
-
*
|
|
15
|
+
* 8bit 符号なし整数テクスチャ (RGBA8UI) を生成する
|
|
16
|
+
* @param data - 書き込むデータ
|
|
17
|
+
* @param width - テクスチャの幅
|
|
18
|
+
* @param height - テクスチャの高さ
|
|
13
19
|
*/
|
|
14
|
-
|
|
15
|
-
count: number;
|
|
16
|
-
position32: Float32Array;
|
|
17
|
-
color8: Uint8ClampedArray;
|
|
18
|
-
converted: Uint8Array;
|
|
19
|
-
min: {
|
|
20
|
-
alpha: number;
|
|
21
|
-
scale: iVectorLike;
|
|
22
|
-
};
|
|
23
|
-
max: {
|
|
24
|
-
alpha: number;
|
|
25
|
-
scale: iVectorLike;
|
|
26
|
-
};
|
|
27
|
-
}
|
|
20
|
+
export declare const createUint8DataTexture: (data: Uint8Array, width: number, height: number) => DataTexture;
|
|
28
21
|
export declare class TavioMesh extends EventEmitter {
|
|
29
22
|
private worker;
|
|
30
23
|
private meshIndex;
|
|
@@ -49,13 +42,26 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
49
42
|
private sortMap;
|
|
50
43
|
private defaultRenderViewSymbol;
|
|
51
44
|
private gaussianOrderData;
|
|
52
|
-
private gaussianGeneralData;
|
|
53
45
|
private gaussianTransformData;
|
|
54
|
-
private gaussianLocalTransformData;
|
|
55
|
-
private temporaryLocalTransformData;
|
|
56
46
|
private transformTextureWidth;
|
|
57
|
-
private
|
|
58
|
-
private
|
|
47
|
+
private localTransform;
|
|
48
|
+
private selection;
|
|
49
|
+
private get gaussianLocalTransformData();
|
|
50
|
+
private set gaussianLocalTransformData(value);
|
|
51
|
+
private get temporaryLocalTransformData();
|
|
52
|
+
private set temporaryLocalTransformData(value);
|
|
53
|
+
private get localTransformTextureWidth();
|
|
54
|
+
private set localTransformTextureWidth(value);
|
|
55
|
+
private get gaussianLocalTransformTexture();
|
|
56
|
+
private set gaussianLocalTransformTexture(value);
|
|
57
|
+
private get localTransformUpdated();
|
|
58
|
+
private set localTransformUpdated(value);
|
|
59
|
+
private get gaussianGeneralData();
|
|
60
|
+
private set gaussianGeneralData(value);
|
|
61
|
+
private get currentSelectionCount();
|
|
62
|
+
private set currentSelectionCount(value);
|
|
63
|
+
private get gaussianGeneralDataTexture();
|
|
64
|
+
private set gaussianGeneralDataTexture(value);
|
|
59
65
|
private gaussianDataTexture;
|
|
60
66
|
private gaussianCompressedDataTexture0;
|
|
61
67
|
private gaussianCompressedDataTexture1;
|
|
@@ -63,12 +69,9 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
63
69
|
private gaussianCompressedDataTexture3;
|
|
64
70
|
private currentVertexCount;
|
|
65
71
|
private maxDistance;
|
|
66
|
-
private gaussianGeneralDataTexture;
|
|
67
72
|
private gaussianTransformDataTexture;
|
|
68
|
-
private gaussianLocalTransformTexture;
|
|
69
73
|
private initializedTexture;
|
|
70
74
|
private initializedColorTexture;
|
|
71
|
-
private localTransformUpdated;
|
|
72
75
|
initialized: boolean;
|
|
73
76
|
initializedPoints: boolean;
|
|
74
77
|
initializedBackground: boolean;
|
|
@@ -87,7 +90,6 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
87
90
|
private gaussianPoints;
|
|
88
91
|
private gaussianPointGeometry;
|
|
89
92
|
private gaussianPointMaterial;
|
|
90
|
-
private gaussianPointUniforms;
|
|
91
93
|
private mainProperties;
|
|
92
94
|
private backgroundTexture;
|
|
93
95
|
private environmentTexture;
|
|
@@ -147,7 +149,11 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
147
149
|
* @param indexSelectionMaterial - メッシュの生成に使うマテリアルは上の層から指定されたものを使う
|
|
148
150
|
* @param viewerOption - 上の層で用いているオプション
|
|
149
151
|
*/
|
|
150
|
-
constructor(index: number, material: RawShaderMaterial, pickingMaterial: RawShaderMaterial, shadowingMaterial: RawShaderMaterial, indexSelectionMaterial: RawShaderMaterial, viewerOption: iViewerOption);
|
|
152
|
+
constructor(index: number, material: RawShaderMaterial, pickingMaterial: RawShaderMaterial, shadowingMaterial: RawShaderMaterial, indexSelectionMaterial: RawShaderMaterial, pointMaterial: RawShaderMaterial, viewerOption: iViewerOption);
|
|
153
|
+
/**
|
|
154
|
+
* マテリアルでローカル変換が有効化されているかどうか
|
|
155
|
+
*/
|
|
156
|
+
get enableLocalTransform(): boolean;
|
|
151
157
|
/**
|
|
152
158
|
* ==========================================================================
|
|
153
159
|
* loader
|
|
@@ -155,31 +161,46 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
155
161
|
*/
|
|
156
162
|
/**
|
|
157
163
|
* tavio 形式のリソースをロードする
|
|
158
|
-
*
|
|
159
|
-
*
|
|
164
|
+
* ※ply や splat、画像・canvas 要素などのリソースは CPU 側で TavioMesh 用のバイナリを生成する処理を行うが、
|
|
165
|
+
* tavio 形式の場合はバイナリから TavioMesh 用のデータを生成する部分が worker 側にあるため、他のロード系
|
|
166
|
+
* メソッドと比較するとやや固有の処理が多いことに注意する
|
|
167
|
+
* @param source - 読み込む .tavio ファイル。URL 文字列に加え、事前に取得済みの Blob / ArrayBuffer を渡すこともできる
|
|
160
168
|
* @param option - ロード・パース関連のオプション
|
|
161
169
|
*/
|
|
162
170
|
loadTavio(source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
163
171
|
/**
|
|
164
172
|
* ply 形式のリソースをロードする
|
|
165
|
-
* @param
|
|
173
|
+
* @param source - 読み込む .ply ファイル(URL文字列、Blob、または ArrayBuffer)
|
|
166
174
|
* @param option - ロード・パース関連のオプション
|
|
167
175
|
*/
|
|
168
|
-
loadPly(
|
|
176
|
+
loadPly(source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
169
177
|
/**
|
|
170
178
|
* splat 形式のリソースをロードする
|
|
171
|
-
* @param
|
|
179
|
+
* @param source - 読み込む .splat ファイル(URL文字列、Blob、または ArrayBuffer)
|
|
172
180
|
*/
|
|
173
|
-
loadSplat(
|
|
181
|
+
loadSplat(source: string | Blob | ArrayBuffer): Promise<void>;
|
|
174
182
|
/**
|
|
175
183
|
* 画像形式のリソースをロードする
|
|
176
|
-
* @param
|
|
184
|
+
* @param source - 読み込む画像ファイル(URL文字列、Blob、ArrayBuffer、または ImageBitmap)
|
|
185
|
+
*/
|
|
186
|
+
loadImage(source: string | Blob | ArrayBuffer | ImageBitmap): Promise<void>;
|
|
187
|
+
/**
|
|
188
|
+
* canvas 形式のリソースをロードする
|
|
189
|
+
* @param canvas - 対象となる canvas 要素、または OffscreenCanvas / ImageBitmap
|
|
190
|
+
*/
|
|
191
|
+
loadCanvas(canvas: HTMLCanvasElement | OffscreenCanvas | ImageBitmap): Promise<void>;
|
|
192
|
+
/**
|
|
193
|
+
* 画像や Canvas などのビットマップソースからスプラットを共通シーケンスで生成・ロードする
|
|
194
|
+
* ※ OffscreenCanvas モード(Worker スレッド)およびメインスレッドの双方に対応
|
|
195
|
+
* @param source - 画像・Canvas・ImageBitmap などのソース
|
|
196
|
+
* @param type - ソース種別('image' | 'canvas')
|
|
197
|
+
* @param byte - リソースのバイト長(不明時は null)
|
|
198
|
+
* @private
|
|
177
199
|
*/
|
|
178
|
-
|
|
200
|
+
private _loadFromBitmapSource;
|
|
179
201
|
/**
|
|
180
202
|
* tavio 形式のリソースをロードする
|
|
181
|
-
* @param source - 読み込む .tavio ファイル。URL 文字列に加え、事前に取得済みの
|
|
182
|
-
* Blob / ArrayBuffer を渡すこともできる(内部で Object URL 化して WASM デコーダに渡す)
|
|
203
|
+
* @param source - 読み込む .tavio ファイル。URL 文字列に加え、事前に取得済みの Blob / ArrayBuffer を渡すこともできる(内部で Object URL 化して WASM デコーダに渡す)
|
|
183
204
|
* @param option - ロード・パース関連のオプション
|
|
184
205
|
* @param options.decodeMode - デコードモード. "sync", "concurrent", "parallel" を指定
|
|
185
206
|
* @param options.maxThreads - decodeMode が "parallel" のときに使用されるスレッド数の上限
|
|
@@ -238,16 +259,6 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
238
259
|
* @param format - ファイル形式
|
|
239
260
|
*/
|
|
240
261
|
saveMeshWasm(filename: string, format: "splat" | "ply" | "spz" | "sog"): Promise<void>;
|
|
241
|
-
/**
|
|
242
|
-
* canvas 要素からスプラットを生成してシーンに追加する
|
|
243
|
-
* @param canvas - 対象となる canvas 要素
|
|
244
|
-
*/
|
|
245
|
-
loadCanvas(canvas: HTMLCanvasElement): Promise<void>;
|
|
246
|
-
/**
|
|
247
|
-
* 画像や canvas 要素をパースし変換する
|
|
248
|
-
* @param imageSource - 対象となる画像や canvas
|
|
249
|
-
*/
|
|
250
|
-
convertImageSource(imageSource: tImageSource): iSplatSource;
|
|
251
262
|
/**
|
|
252
263
|
* ==========================================================================
|
|
253
264
|
* getter / setter
|
|
@@ -301,7 +312,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
301
312
|
* uniform 変数を設定する
|
|
302
313
|
* @param values - 設定する uniform 変数をキーとするオブジェクト
|
|
303
314
|
*/
|
|
304
|
-
setUniforms(values:
|
|
315
|
+
setUniforms(values: Record<string, tUniformValue>): void;
|
|
305
316
|
/**
|
|
306
317
|
* 点描画用のマテリアルに紐づいている uniform 変数を返す
|
|
307
318
|
*/
|
|
@@ -310,7 +321,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
310
321
|
* 点描画用のマテリアルに uniform 変数を設定する
|
|
311
322
|
* @param values - 設定する uniform 変数をキーとするオブジェクト
|
|
312
323
|
*/
|
|
313
|
-
setPointUniforms(values: any): void;
|
|
324
|
+
setPointUniforms(values: Record<string, any>): void;
|
|
314
325
|
/**
|
|
315
326
|
* defines の定義を返す
|
|
316
327
|
*/
|
|
@@ -319,7 +330,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
319
330
|
* defines を設定する
|
|
320
331
|
* @param values - 設定する defines をキーとするオブジェクト
|
|
321
332
|
*/
|
|
322
|
-
setDefines(values:
|
|
333
|
+
setDefines(values: tCustomDefines): void;
|
|
323
334
|
/**
|
|
324
335
|
* 点描画用のマテリアルに紐づいている defines の定義を返す
|
|
325
336
|
*/
|
|
@@ -328,7 +339,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
328
339
|
* 点描画用のマテリアルに defines を設定する
|
|
329
340
|
* @param values - 設定する defines をキーとするオブジェクト
|
|
330
341
|
*/
|
|
331
|
-
setPointDefines(values:
|
|
342
|
+
setPointDefines(values: tCustomDefines): void;
|
|
332
343
|
/**
|
|
333
344
|
* カメラ関係のパラメータを深度書き込み用に設定する
|
|
334
345
|
* @param viewProjectionMatrix - 要素の配列
|
|
@@ -626,14 +637,14 @@ declare class SharedData {
|
|
|
626
637
|
sharedSphericalHarmonicsLabel: SharedArrayBuffer;
|
|
627
638
|
sharedSphericalHarmonicsMaxQuantizationIndex: SharedArrayBuffer;
|
|
628
639
|
sharedGaussianLocalTransformData: SharedArrayBuffer;
|
|
640
|
+
gaussianData: Uint8Array;
|
|
641
|
+
gaussianOrderData: Uint8Array;
|
|
642
|
+
gaussianGeneralData: Uint8Array;
|
|
643
|
+
sphericalHarmonicsData: Float32Array;
|
|
644
|
+
sphericalHarmonicsLabel: Uint16Array;
|
|
645
|
+
sphericalHarmonicsMaxQuantizationIndex: Uint32Array;
|
|
646
|
+
gaussianLocalTransformData: Uint32Array;
|
|
629
647
|
constructor(gaussianDataSize: number, gaussianGeneralDataSize: number, chunkCount: number, pointCount: number, isEncodeEnabled: boolean, enableLocalTransform: boolean);
|
|
630
|
-
get gaussianData(): Uint8Array;
|
|
631
|
-
get gaussianOrderData(): Uint8Array;
|
|
632
|
-
get gaussianGeneralData(): Uint8Array;
|
|
633
|
-
get sphericalHarmonicsData(): Float32Array;
|
|
634
|
-
get sphericalHarmonicsLabel(): Uint16Array;
|
|
635
|
-
get sphericalHarmonicsMaxQuantizationIndex(): Uint32Array;
|
|
636
|
-
get gaussianLocalTransformData(): Uint32Array;
|
|
637
648
|
get isEncodeEnabled(): boolean;
|
|
638
649
|
}
|
|
639
650
|
export {};
|