@openheart/tavio-renderer 1.0.12-with-wasm → 2.0.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-DVLlyem4.js +602 -0
- package/build/esm/assets/workerHelpers-BWRcUO-d.js +22 -0
- package/build/esm/index.js +12042 -44186
- package/build/esm/types/camera/cameraCollider.d.ts +1 -1
- package/build/esm/types/camera/cameraPathControls.d.ts +3 -3
- package/build/esm/types/camera/flightControls.d.ts +1 -1
- package/build/esm/types/camera/orbitControls.d.ts +20 -4
- package/build/esm/types/camera/transferControls.d.ts +1 -1
- package/build/esm/types/editor/selector/boxSelector.d.ts +4 -3
- package/build/esm/types/editor/selector/selector.d.ts +9 -9
- package/build/esm/types/loader/streamLoader.d.ts +4 -4
- package/build/esm/types/module.d.ts +6 -4
- package/build/esm/types/viewer/canvas.d.ts +176 -1236
- 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 +37 -35
- package/build/esm/types/viewer/renderView.d.ts +14 -4
- 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} +9 -37
- 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} +195 -71
- package/build/esm/types/viewer/types.d.ts +376 -0
- package/build/esm/types/wasm-bindings/wasm-handlers.d.ts +23 -3
- package/build/esm/types/wasm-bindings/wasm-worker-client.d.ts +19 -7
- package/build/esm/types/wasm-bindings/wasm-worker.d.ts +1 -1
- package/build/esm/types/worker/renderingWorker.d.ts +8 -0
- package/build/esm/types/worker/tavioWorker.d.ts +6 -43
- package/build/esm/wasm/pkg/no-thread/package.json +2 -2
- package/build/esm/wasm/pkg/no-thread/tavio.d.ts +15 -15
- package/build/esm/wasm/pkg/no-thread/tavio.js +134 -132
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm.d.ts +14 -14
- package/build/esm/wasm/pkg/thread/package.json +2 -2
- package/build/esm/wasm/pkg/thread/tavio.d.ts +20 -20
- package/build/esm/wasm/pkg/thread/tavio.js +163 -161
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm.d.ts +19 -19
- package/package.json +4 -3
- package/build/esm/assets/tavio-B99BKbbN.js +0 -971
- package/build/esm/assets/workerHelpers-DWTUmD6Q.js +0 -39
- package/build/esm/types/animation/animationController.d.ts +0 -133
|
@@ -1,30 +1,23 @@
|
|
|
1
|
-
import { CubeTexture, DataTexture, Euler, PerspectiveCamera, Points, RawShaderMaterial, Texture, Vector3, WebGLRenderer } from 'three';
|
|
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;
|
|
@@ -45,13 +38,30 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
45
38
|
private gaussianCountInChunk;
|
|
46
39
|
private gaussianData;
|
|
47
40
|
private gaussianIndexMap;
|
|
41
|
+
private latestIndexMap;
|
|
48
42
|
private sortMap;
|
|
49
43
|
private defaultRenderViewSymbol;
|
|
50
44
|
private gaussianOrderData;
|
|
51
|
-
private gaussianGeneralData;
|
|
52
45
|
private gaussianTransformData;
|
|
53
46
|
private transformTextureWidth;
|
|
54
|
-
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);
|
|
55
65
|
private gaussianDataTexture;
|
|
56
66
|
private gaussianCompressedDataTexture0;
|
|
57
67
|
private gaussianCompressedDataTexture1;
|
|
@@ -59,7 +69,6 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
59
69
|
private gaussianCompressedDataTexture3;
|
|
60
70
|
private currentVertexCount;
|
|
61
71
|
private maxDistance;
|
|
62
|
-
private gaussianGeneralDataTexture;
|
|
63
72
|
private gaussianTransformDataTexture;
|
|
64
73
|
private initializedTexture;
|
|
65
74
|
private initializedColorTexture;
|
|
@@ -72,18 +81,20 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
72
81
|
private gaussianGeometry;
|
|
73
82
|
private gaussianMaterial;
|
|
74
83
|
private gaussianPickingMaterial;
|
|
84
|
+
private gaussianShadowingMaterial;
|
|
85
|
+
private gaussianIndexSelectionMaterial;
|
|
75
86
|
private gaussianMesh;
|
|
76
87
|
private gaussianPickingMesh;
|
|
88
|
+
private gaussianShadowingMesh;
|
|
89
|
+
private gaussianIndexSelectionMesh;
|
|
77
90
|
private gaussianPoints;
|
|
78
91
|
private gaussianPointGeometry;
|
|
79
92
|
private gaussianPointMaterial;
|
|
80
|
-
private gaussianPointUniforms;
|
|
81
93
|
private mainProperties;
|
|
82
94
|
private backgroundTexture;
|
|
83
95
|
private environmentTexture;
|
|
84
96
|
private useWasmSort;
|
|
85
97
|
private wasmSortInstance;
|
|
86
|
-
private wasmSortClient;
|
|
87
98
|
private hasBillboard;
|
|
88
99
|
private lastViewProjectionMap;
|
|
89
100
|
private depthRenderTarget;
|
|
@@ -111,6 +122,19 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
111
122
|
* B: クォータニオンの WX
|
|
112
123
|
* A: クォータニオンの YZ
|
|
113
124
|
*/
|
|
125
|
+
/**
|
|
126
|
+
* this.gaussianLocalTransformData についての覚書
|
|
127
|
+
* RGBA がそれぞれ Uint32 で、1画素が1スプラットに対応する
|
|
128
|
+
* position.xyz はそれぞれ 16bit、scale.xyz も同様に 16bit で先頭から並ぶ(RGB に相当するチャンネル)
|
|
129
|
+
* 残りの A チャンネルの 32bit には convertQuaternion で変換したオクタへドラルクォータニオン 24bit が入る
|
|
130
|
+
*/
|
|
131
|
+
/**
|
|
132
|
+
* this.temporaryLocalTransformData についての覚書
|
|
133
|
+
* RGBA がそれぞれ Uint32 で、1画素が1スプラットに対応する(つまり this.gaussianLocalTransformData と同じ)
|
|
134
|
+
* このバッファは「スプラットが複数選択された」場合に、その選択された瞬間の状態をステートとして保持しておくために利用される
|
|
135
|
+
* このような退避バッファを使わないと、複数回選択・移動されたときに、前回の状態からどれくらい動いたか、を考えることができなくなる
|
|
136
|
+
* スプラットが選択された際に内容が更新され、ギズモから手が離れた瞬間に、この退避バッファの内容を踏まえてローカルトランスフォームする
|
|
137
|
+
*/
|
|
114
138
|
/**
|
|
115
139
|
* インスタンスが発火するイベント
|
|
116
140
|
*/
|
|
@@ -121,8 +145,15 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
121
145
|
* @param camera - worker の更新のためにカメラのインスタンスが必要
|
|
122
146
|
* @param material - メッシュの生成に使うマテリアルは上の層から指定されたものを使う
|
|
123
147
|
* @param pickingMaterial - メッシュの生成に使うマテリアルは上の層から指定されたものを使う
|
|
148
|
+
* @param shadowingMaterial - メッシュの生成に使うマテリアルは上の層から指定されたものを使う
|
|
149
|
+
* @param indexSelectionMaterial - メッシュの生成に使うマテリアルは上の層から指定されたものを使う
|
|
150
|
+
* @param viewerOption - 上の層で用いているオプション
|
|
151
|
+
*/
|
|
152
|
+
constructor(index: number, material: RawShaderMaterial, pickingMaterial: RawShaderMaterial, shadowingMaterial: RawShaderMaterial, indexSelectionMaterial: RawShaderMaterial, pointMaterial: RawShaderMaterial, viewerOption: iViewerOption);
|
|
153
|
+
/**
|
|
154
|
+
* マテリアルでローカル変換が有効化されているかどうか
|
|
124
155
|
*/
|
|
125
|
-
|
|
156
|
+
get enableLocalTransform(): boolean;
|
|
126
157
|
/**
|
|
127
158
|
* ==========================================================================
|
|
128
159
|
* loader
|
|
@@ -130,29 +161,46 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
130
161
|
*/
|
|
131
162
|
/**
|
|
132
163
|
* tavio 形式のリソースをロードする
|
|
133
|
-
*
|
|
164
|
+
* ※ply や splat、画像・canvas 要素などのリソースは CPU 側で TavioMesh 用のバイナリを生成する処理を行うが、
|
|
165
|
+
* tavio 形式の場合はバイナリから TavioMesh 用のデータを生成する部分が worker 側にあるため、他のロード系
|
|
166
|
+
* メソッドと比較するとやや固有の処理が多いことに注意する
|
|
167
|
+
* @param source - 読み込む .tavio ファイル。URL 文字列に加え、事前に取得済みの Blob / ArrayBuffer を渡すこともできる
|
|
134
168
|
* @param option - ロード・パース関連のオプション
|
|
135
169
|
*/
|
|
136
|
-
loadTavio(
|
|
170
|
+
loadTavio(source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
137
171
|
/**
|
|
138
172
|
* ply 形式のリソースをロードする
|
|
139
|
-
* @param
|
|
173
|
+
* @param source - 読み込む .ply ファイル(URL文字列、Blob、または ArrayBuffer)
|
|
140
174
|
* @param option - ロード・パース関連のオプション
|
|
141
175
|
*/
|
|
142
|
-
loadPly(
|
|
176
|
+
loadPly(source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
143
177
|
/**
|
|
144
178
|
* splat 形式のリソースをロードする
|
|
145
|
-
* @param
|
|
179
|
+
* @param source - 読み込む .splat ファイル(URL文字列、Blob、または ArrayBuffer)
|
|
146
180
|
*/
|
|
147
|
-
loadSplat(
|
|
181
|
+
loadSplat(source: string | Blob | ArrayBuffer): Promise<void>;
|
|
148
182
|
/**
|
|
149
183
|
* 画像形式のリソースをロードする
|
|
150
|
-
* @param
|
|
184
|
+
* @param source - 読み込む画像ファイル(URL文字列、Blob、ArrayBuffer、または ImageBitmap)
|
|
151
185
|
*/
|
|
152
|
-
loadImage(
|
|
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
|
|
199
|
+
*/
|
|
200
|
+
private _loadFromBitmapSource;
|
|
153
201
|
/**
|
|
154
202
|
* tavio 形式のリソースをロードする
|
|
155
|
-
* @param
|
|
203
|
+
* @param source - 読み込む .tavio ファイル。URL 文字列に加え、事前に取得済みの Blob / ArrayBuffer を渡すこともできる(内部で Object URL 化して WASM デコーダに渡す)
|
|
156
204
|
* @param option - ロード・パース関連のオプション
|
|
157
205
|
* @param options.decodeMode - デコードモード. "sync", "concurrent", "parallel" を指定
|
|
158
206
|
* @param options.maxThreads - decodeMode が "parallel" のときに使用されるスレッド数の上限
|
|
@@ -160,7 +208,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
160
208
|
* @param options.useSphericalHarmonics - 球面調和関数の交流成分を使用
|
|
161
209
|
* @param options.isEncodeEnabled - エンコードを有効にする. 有効にするとエンコード時に必要なデータを読み込む
|
|
162
210
|
*/
|
|
163
|
-
loadTavioWasm(
|
|
211
|
+
loadTavioWasm(source: string | Blob | ArrayBuffer, options?: ({
|
|
164
212
|
decodeMode?: "sync";
|
|
165
213
|
} | {
|
|
166
214
|
decodeMode: "parallel";
|
|
@@ -181,35 +229,36 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
181
229
|
useSphericalHarmonics?: boolean;
|
|
182
230
|
}): Promise<void>;
|
|
183
231
|
/**
|
|
184
|
-
*
|
|
185
|
-
* @param filename - 保存ファイル名
|
|
232
|
+
* tavio 形式のバイナリデータを生成する
|
|
186
233
|
* @param options.exportSphericalHarmonics - 球面調和関数の交流成分をエンコードする [default: true]
|
|
187
234
|
* @param options.exportCelestialSphere - 天体球の画像をエンコードする [default: true]
|
|
188
235
|
* @param options.sphericalHarmonicsSampleRate - 球面調和関数の交流成分の計算のサンプル率 [default: 0.1]
|
|
189
236
|
* @param options.celestialSphereDistanceRatio - 天体球の画像に使用する点の距離の比率 [default: 0.99]
|
|
190
237
|
*/
|
|
191
|
-
|
|
238
|
+
exportTavioWasm(options?: {
|
|
192
239
|
exportSphericalHarmonics?: boolean;
|
|
193
240
|
exportCelestialSphere?: boolean;
|
|
194
241
|
sphericalHarmonicsSampleRate?: number;
|
|
195
242
|
celestialSphereDistanceRatio?: number;
|
|
196
|
-
}): Promise<
|
|
243
|
+
}): Promise<{
|
|
244
|
+
bytes: Uint8Array;
|
|
245
|
+
version: string;
|
|
246
|
+
}>;
|
|
247
|
+
/**
|
|
248
|
+
* 様々な形式のリソースをセーブする
|
|
249
|
+
* @param filename - 保存ファイル名
|
|
250
|
+
* @param options.exportSphericalHarmonics - 球面調和関数の交流成分をエンコードする [default: true]
|
|
251
|
+
* @param options.exportCelestialSphere - 天体球の画像をエンコードする [default: true]
|
|
252
|
+
* @param options.sphericalHarmonicsSampleRate - 球面調和関数の交流成分の計算のサンプル率 [default: 0.1]
|
|
253
|
+
* @param options.celestialSphereDistanceRatio - 天体球の画像に使用する点の距離の比率 [default: 0.99]
|
|
254
|
+
*/
|
|
255
|
+
saveTavioWasm(filename: string, options?: Parameters<typeof TavioMesh.prototype.exportTavioWasm>[0]): Promise<void>;
|
|
197
256
|
/**
|
|
198
257
|
* 様々な形式のリソースをセーブする
|
|
199
258
|
* @param filename - 保存ファイル名
|
|
200
259
|
* @param format - ファイル形式
|
|
201
260
|
*/
|
|
202
261
|
saveMeshWasm(filename: string, format: "splat" | "ply" | "spz" | "sog"): Promise<void>;
|
|
203
|
-
/**
|
|
204
|
-
* canvas 要素からスプラットを生成してシーンに追加する
|
|
205
|
-
* @param canvas - 対象となる canvas 要素
|
|
206
|
-
*/
|
|
207
|
-
loadCanvas(canvas: HTMLCanvasElement): Promise<void>;
|
|
208
|
-
/**
|
|
209
|
-
* 画像や canvas 要素をパースし変換する
|
|
210
|
-
* @param imageSource - 対象となる画像や canvas
|
|
211
|
-
*/
|
|
212
|
-
convertImageSource(imageSource: tImageSource): iSplatSource;
|
|
213
262
|
/**
|
|
214
263
|
* ==========================================================================
|
|
215
264
|
* getter / setter
|
|
@@ -218,23 +267,31 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
218
267
|
/**
|
|
219
268
|
* 点描画用の Points インスタンスを返す
|
|
220
269
|
*/
|
|
221
|
-
getPoints(): Points;
|
|
270
|
+
getPoints(): Points | null;
|
|
222
271
|
/**
|
|
223
272
|
* メッシュのインスタンスを返す
|
|
224
273
|
*/
|
|
225
|
-
getMesh(): InstancedMeshEX;
|
|
274
|
+
getMesh(): InstancedMeshEX | null;
|
|
226
275
|
/**
|
|
227
276
|
* ピッキング用メッシュのインスタンスを返す
|
|
228
277
|
*/
|
|
229
|
-
getPickingMesh(): InstancedMeshEX;
|
|
278
|
+
getPickingMesh(): InstancedMeshEX | null;
|
|
279
|
+
/**
|
|
280
|
+
* 影描画用メッシュのインスタンスを返す
|
|
281
|
+
*/
|
|
282
|
+
getShadowingMesh(): InstancedMeshEX | null;
|
|
283
|
+
/**
|
|
284
|
+
* インデックス選択用メッシュのインスタンスを返す
|
|
285
|
+
*/
|
|
286
|
+
getIndexSelectionMesh(): InstancedMeshEX | null;
|
|
230
287
|
/**
|
|
231
288
|
* 背景用テクスチャを返す
|
|
232
289
|
*/
|
|
233
|
-
getBackgroundTexture(): Texture;
|
|
290
|
+
getBackgroundTexture(): Texture | null;
|
|
234
291
|
/**
|
|
235
292
|
* 環境マップ用テクスチャを返す
|
|
236
293
|
*/
|
|
237
|
-
getEnvironmentTexture(): CubeTexture;
|
|
294
|
+
getEnvironmentTexture(): CubeTexture | null;
|
|
238
295
|
/**
|
|
239
296
|
* 含まれる全スプラットの最大距離を返す
|
|
240
297
|
*/
|
|
@@ -247,11 +304,15 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
247
304
|
* uniform 変数を返す
|
|
248
305
|
*/
|
|
249
306
|
getUniforms(): any;
|
|
307
|
+
/**
|
|
308
|
+
* 現在選択されているスプラットのトランスフォーム情報を返す
|
|
309
|
+
*/
|
|
310
|
+
getSelectedSplatTransformInfo(): iLocalTransformInfo | null;
|
|
250
311
|
/**
|
|
251
312
|
* uniform 変数を設定する
|
|
252
313
|
* @param values - 設定する uniform 変数をキーとするオブジェクト
|
|
253
314
|
*/
|
|
254
|
-
setUniforms(values:
|
|
315
|
+
setUniforms(values: Record<string, tUniformValue>): void;
|
|
255
316
|
/**
|
|
256
317
|
* 点描画用のマテリアルに紐づいている uniform 変数を返す
|
|
257
318
|
*/
|
|
@@ -260,7 +321,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
260
321
|
* 点描画用のマテリアルに uniform 変数を設定する
|
|
261
322
|
* @param values - 設定する uniform 変数をキーとするオブジェクト
|
|
262
323
|
*/
|
|
263
|
-
setPointUniforms(values: any): void;
|
|
324
|
+
setPointUniforms(values: Record<string, any>): void;
|
|
264
325
|
/**
|
|
265
326
|
* defines の定義を返す
|
|
266
327
|
*/
|
|
@@ -269,7 +330,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
269
330
|
* defines を設定する
|
|
270
331
|
* @param values - 設定する defines をキーとするオブジェクト
|
|
271
332
|
*/
|
|
272
|
-
setDefines(values:
|
|
333
|
+
setDefines(values: tCustomDefines): void;
|
|
273
334
|
/**
|
|
274
335
|
* 点描画用のマテリアルに紐づいている defines の定義を返す
|
|
275
336
|
*/
|
|
@@ -278,7 +339,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
278
339
|
* 点描画用のマテリアルに defines を設定する
|
|
279
340
|
* @param values - 設定する defines をキーとするオブジェクト
|
|
280
341
|
*/
|
|
281
|
-
setPointDefines(values:
|
|
342
|
+
setPointDefines(values: tCustomDefines): void;
|
|
282
343
|
/**
|
|
283
344
|
* カメラ関係のパラメータを深度書き込み用に設定する
|
|
284
345
|
* @param viewProjectionMatrix - 要素の配列
|
|
@@ -331,7 +392,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
331
392
|
* 指定されたインデックスの座標変換情報を返す
|
|
332
393
|
* @param index - インデックス
|
|
333
394
|
*/
|
|
334
|
-
getTransform(index: number): iTransform;
|
|
395
|
+
getTransform(index: number): iTransform | null;
|
|
335
396
|
/**
|
|
336
397
|
* インデックスを指定してビルボードの設定を行う
|
|
337
398
|
* @param index - インデックス
|
|
@@ -348,6 +409,46 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
348
409
|
* @private
|
|
349
410
|
*/
|
|
350
411
|
private _updateTransformData;
|
|
412
|
+
/**
|
|
413
|
+
* ローカルモデル変換用のバッファを初期化する
|
|
414
|
+
* @param offset - 処理対象を限定するオフセット
|
|
415
|
+
* @param onlySelected - 現在選択状態のものだけを処理するかどうか
|
|
416
|
+
*/
|
|
417
|
+
initLocalTransformData(offset?: number, onlySelected?: boolean): void;
|
|
418
|
+
/**
|
|
419
|
+
* ローカルモデル変換用のテクスチャを更新し uniform 変数へ反映する
|
|
420
|
+
*/
|
|
421
|
+
updateLocalTransformTexture(): void;
|
|
422
|
+
/**
|
|
423
|
+
* スクリーン空間上の領域情報に基づいてスプラットを選択する
|
|
424
|
+
* @param buffer - ReadPixels の結果の Uint8Array をソースとする ArrayBuffer
|
|
425
|
+
* @param nw - フレームバッファ上の選択領域幅
|
|
426
|
+
* @param nh - フレームバッファ上の選択領域高さ
|
|
427
|
+
* @param mode - 選択モード
|
|
428
|
+
* @param maskBuffer - 範囲選択用のアルファマスクデータ (nw * nh * 4 バイト)
|
|
429
|
+
*/
|
|
430
|
+
selectGaussiansByScreenArea(buffer: ArrayBuffer, nw: number, nh: number, mode: tSelectionMode, maskBuffer: ArrayBuffer): void;
|
|
431
|
+
/**
|
|
432
|
+
* 現在のローカル変換のデータを退避バッファにバックアップする。
|
|
433
|
+
* 複数選択時に、各スプラットの相対的な位置関係を維持したままトランスフォームを累積適用するための基準値となる。
|
|
434
|
+
* 非編集時はメモリを確保せず、必要になったタイミングで初めてバッファを遅延確保(Lazy Allocation)する。
|
|
435
|
+
*/
|
|
436
|
+
backupLocalTransform(): void;
|
|
437
|
+
/**
|
|
438
|
+
* 現在選択しているスプラットに対してローカル変換を設定する(指定された値で完全に上書きする)
|
|
439
|
+
* @param translation - 平行移動
|
|
440
|
+
* @param rotation - 回転
|
|
441
|
+
* @param scale - スケール
|
|
442
|
+
*/
|
|
443
|
+
applyLocalTransformToSelected(translation: Vector3, rotation: Quaternion, scale: Vector3): void;
|
|
444
|
+
/**
|
|
445
|
+
* 現在選択しているスプラットに対して、退避バッファを基準とした相対的なローカル変換を適用する
|
|
446
|
+
* @param translation - 相対平行移動
|
|
447
|
+
* @param rotation - 相対回転
|
|
448
|
+
* @param scale - 相対スケール
|
|
449
|
+
* @param initialQuaternion - 初期姿勢を意味するクォータニオン(単体選択時に考慮する必要がある)
|
|
450
|
+
*/
|
|
451
|
+
applyLocalTransformToSelectedRelative(translation: Vector3, rotation: Quaternion, scale: Vector3, initialQuaternion?: Quaternion): void;
|
|
351
452
|
/**
|
|
352
453
|
* 自身のプロパティの状態に応じて球面調和関数に関連する uniform 変数の更新を行う
|
|
353
454
|
* @private
|
|
@@ -369,6 +470,26 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
369
470
|
* @param camera - 対象となるカメラ
|
|
370
471
|
*/
|
|
371
472
|
syncPinckingMaterial(camera: PerspectiveCamera): void;
|
|
473
|
+
/**
|
|
474
|
+
* shadowing 用マテリアルに uniform 変数を同期する
|
|
475
|
+
*/
|
|
476
|
+
syncShadowingMaterial(): void;
|
|
477
|
+
/**
|
|
478
|
+
* indexSelection 用マテリアルに uniform 変数を同期する
|
|
479
|
+
* @param camera - 対象となるカメラ
|
|
480
|
+
*/
|
|
481
|
+
syncIndexSelectionMaterial(camera: PerspectiveCamera): void;
|
|
482
|
+
/**
|
|
483
|
+
* gaussianMesh のモデル変換をすべての補助メッシュに同期する
|
|
484
|
+
*/
|
|
485
|
+
syncModelTransform(): void;
|
|
486
|
+
/**
|
|
487
|
+
* shadowing 用マテリアルに uniform 変数を設定する
|
|
488
|
+
* @param camera - 対象となるカメラ
|
|
489
|
+
* @param focal - 対象となるカメラから求めた focal
|
|
490
|
+
* @param inverseViewport - ビューポートの逆数パラメータ
|
|
491
|
+
*/
|
|
492
|
+
setShadowingUniform(camera: Camera, focal: Vector2, inverseViewport: Vector2): void;
|
|
372
493
|
/**
|
|
373
494
|
* ソートを実行する
|
|
374
495
|
* @param renderView - ソート処理の対象となるビューの情報を持つレンダービュー
|
|
@@ -386,7 +507,7 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
386
507
|
* @param pointCount - 該当ファイルのスプラットの個数
|
|
387
508
|
* @param isEncodeEnable - エンコード可能とするかどうか(WASM 用)
|
|
388
509
|
*/
|
|
389
|
-
allocateSharedData(index: number, offset: number, chunkCount: number, pointCount: number, isEncodeEnabled:
|
|
510
|
+
allocateSharedData(index: number, offset: number, chunkCount: number, pointCount: number, isEncodeEnabled: boolean): SharedData;
|
|
390
511
|
/**
|
|
391
512
|
* テクスチャのセットアップが完了しているかどうかを返す
|
|
392
513
|
* @private
|
|
@@ -483,8 +604,9 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
483
604
|
/**
|
|
484
605
|
* 衝突判定を設定する
|
|
485
606
|
* @param collision - 設定する衝突判定、またはその配列
|
|
607
|
+
* @param mode - 選択モード(SELECTION_MODE)
|
|
486
608
|
*/
|
|
487
|
-
setCollision(collision: iCollisionTarget | iCollisionTarget[]): void;
|
|
609
|
+
setCollision(collision: iCollisionTarget | iCollisionTarget[], mode: tSelectionMode): void;
|
|
488
610
|
/**
|
|
489
611
|
* 現在の衝突判定を解除する
|
|
490
612
|
*/
|
|
@@ -514,13 +636,15 @@ declare class SharedData {
|
|
|
514
636
|
sharedSphericalHarmonicsData: SharedArrayBuffer;
|
|
515
637
|
sharedSphericalHarmonicsLabel: SharedArrayBuffer;
|
|
516
638
|
sharedSphericalHarmonicsMaxQuantizationIndex: SharedArrayBuffer;
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
639
|
+
sharedGaussianLocalTransformData: SharedArrayBuffer;
|
|
640
|
+
gaussianData: Uint8Array;
|
|
641
|
+
gaussianOrderData: Uint8Array;
|
|
642
|
+
gaussianGeneralData: Uint8Array;
|
|
643
|
+
sphericalHarmonicsData: Float32Array;
|
|
644
|
+
sphericalHarmonicsLabel: Uint16Array;
|
|
645
|
+
sphericalHarmonicsMaxQuantizationIndex: Uint32Array;
|
|
646
|
+
gaussianLocalTransformData: Uint32Array;
|
|
647
|
+
constructor(gaussianDataSize: number, gaussianGeneralDataSize: number, chunkCount: number, pointCount: number, isEncodeEnabled: boolean, enableLocalTransform: boolean);
|
|
524
648
|
get isEncodeEnabled(): boolean;
|
|
525
649
|
}
|
|
526
650
|
export {};
|