gaussian-splat-lite 1.2.2 → 1.3.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/CHANGELOG.md +32 -2
- package/CONTRIBUTING.md +4 -2
- package/README.md +4 -3
- package/dist/gaussian-splat-lite.cjs +6379 -1441
- package/dist/gaussian-splat-lite.cjs.map +1 -1
- package/dist/gaussian-splat-lite.min.cjs +978 -11
- package/dist/gaussian-splat-lite.min.cjs.map +1 -1
- package/dist/gaussian-splat-lite.module.js +5920 -982
- package/dist/gaussian-splat-lite.module.js.map +1 -1
- package/dist/gaussian-splat-lite.module.min.js +7882 -3373
- package/dist/gaussian-splat-lite.module.min.js.map +1 -1
- package/dist/types/addons/NeuralDenoiseNode.d.cts +72 -0
- package/dist/types/addons/NeuralDenoiseNode.d.ts +72 -0
- package/dist/types/addons/NeuralDenoisePass.d.cts +34 -0
- package/dist/types/addons/NeuralDenoisePass.d.ts +34 -0
- package/dist/types/addons/TAANode.d.cts +46 -33
- package/dist/types/addons/TAANode.d.ts +46 -33
- package/dist/types/addons/TAAPass.d.cts +47 -32
- package/dist/types/addons/TAAPass.d.ts +47 -32
- package/dist/types/addons/neuralDenoiseGL.d.cts +25 -0
- package/dist/types/addons/neuralDenoiseGL.d.ts +25 -0
- package/dist/types/addons/neuralDenoiseGLSL.d.cts +8 -0
- package/dist/types/addons/neuralDenoiseGLSL.d.ts +8 -0
- package/dist/types/addons/neuralDenoisePasses.d.cts +26 -0
- package/dist/types/addons/neuralDenoisePasses.d.ts +26 -0
- package/dist/types/addons/neuralDenoiseShaders.d.cts +38 -0
- package/dist/types/addons/neuralDenoiseShaders.d.ts +38 -0
- package/dist/types/addons/neuralDenoiseWeights.d.cts +118 -0
- package/dist/types/addons/neuralDenoiseWeights.d.ts +118 -0
- package/dist/types/addons/stochasticCoverage.d.cts +14 -0
- package/dist/types/addons/stochasticCoverage.d.ts +14 -0
- package/dist/types/addons/taaShared.d.cts +58 -39
- package/dist/types/addons/taaShared.d.ts +58 -39
- package/dist/types/capture/SplatCapture.d.cts +54 -53
- package/dist/types/capture/SplatCapture.d.ts +54 -53
- package/dist/types/capture/WebGLCapture.d.cts +10 -10
- package/dist/types/capture/WebGLCapture.d.ts +10 -10
- package/dist/types/capture/WebGPUCapture.d.cts +14 -14
- package/dist/types/capture/WebGPUCapture.d.ts +14 -14
- package/dist/types/capture/pixels.d.cts +15 -4
- package/dist/types/capture/pixels.d.ts +15 -4
- package/dist/types/capture/rendererState.d.cts +5 -2
- package/dist/types/capture/rendererState.d.ts +5 -2
- package/dist/types/data/IndexedSplats.d.cts +76 -58
- package/dist/types/data/IndexedSplats.d.ts +76 -58
- package/dist/types/data/RadPagedSplats.d.cts +65 -61
- package/dist/types/data/RadPagedSplats.d.ts +65 -61
- package/dist/types/data/SogRegionSplats.d.cts +25 -19
- package/dist/types/data/SogRegionSplats.d.ts +25 -19
- package/dist/types/data/SplatOpacityTable.d.cts +29 -29
- package/dist/types/data/SplatOpacityTable.d.ts +29 -29
- package/dist/types/data/Splats.d.cts +99 -69
- package/dist/types/data/Splats.d.ts +99 -69
- package/dist/types/data/defines.d.cts +24 -24
- package/dist/types/data/defines.d.ts +24 -24
- package/dist/types/data/raycast.d.cts +13 -9
- package/dist/types/data/raycast.d.ts +13 -9
- package/dist/types/data/splatCodec.d.cts +29 -5
- package/dist/types/data/splatCodec.d.ts +29 -5
- package/dist/types/data/splatData.d.cts +18 -11
- package/dist/types/data/splatData.d.ts +18 -11
- package/dist/types/data/splatRange.d.cts +6 -2
- package/dist/types/data/splatRange.d.ts +6 -2
- package/dist/types/data/textureLayout.d.cts +9 -6
- package/dist/types/data/textureLayout.d.ts +9 -6
- package/dist/types/data/unpack.d.cts +16 -9
- package/dist/types/data/unpack.d.ts +16 -9
- package/dist/types/index.d.cts +65 -19
- package/dist/types/index.d.ts +65 -19
- package/dist/types/loaders/SplatLoader.d.cts +27 -14
- package/dist/types/loaders/SplatLoader.d.ts +27 -14
- package/dist/types/loaders/loadSplatData.d.cts +35 -17
- package/dist/types/loaders/loadSplatData.d.ts +35 -17
- package/dist/types/loaders/loadTypes.d.cts +46 -40
- package/dist/types/loaders/loadTypes.d.ts +46 -40
- package/dist/types/loaders/morton.d.cts +9 -3
- package/dist/types/loaders/morton.d.ts +9 -3
- package/dist/types/loaders/postDecode/builder.d.cts +222 -127
- package/dist/types/loaders/postDecode/builder.d.ts +222 -127
- package/dist/types/loaders/postDecode/compiler.d.cts +25 -11
- package/dist/types/loaders/postDecode/compiler.d.ts +25 -11
- package/dist/types/loaders/postDecode/operations.d.cts +22 -3
- package/dist/types/loaders/postDecode/operations.d.ts +22 -3
- package/dist/types/loaders/postDecode/optimizer.d.cts +5 -2
- package/dist/types/loaders/postDecode/optimizer.d.ts +5 -2
- package/dist/types/loaders/postDecode/program.d.cts +13 -6
- package/dist/types/loaders/postDecode/program.d.ts +13 -6
- package/dist/types/loaders/postDecode/protocol.d.cts +136 -111
- package/dist/types/loaders/postDecode/protocol.d.ts +136 -111
- package/dist/types/loaders/postDecode/registers.d.cts +12 -7
- package/dist/types/loaders/postDecode/registers.d.ts +12 -7
- package/dist/types/loaders/postDecode/runtime.d.cts +9 -2
- package/dist/types/loaders/postDecode/runtime.d.ts +9 -2
- package/dist/types/loaders/rad/RadSource.d.cts +81 -66
- package/dist/types/loaders/rad/RadSource.d.ts +81 -66
- package/dist/types/loaders/rad/radFormat.d.cts +41 -36
- package/dist/types/loaders/rad/radFormat.d.ts +41 -36
- package/dist/types/loaders/rad.d.cts +4 -4
- package/dist/types/loaders/rad.d.ts +4 -4
- package/dist/types/loaders/sog/SogSource.d.cts +14 -4
- package/dist/types/loaders/sog/SogSource.d.ts +14 -4
- package/dist/types/loaders/sog/sogZip.d.cts +12 -12
- package/dist/types/loaders/sog/sogZip.d.ts +12 -12
- package/dist/types/loaders/sog.d.cts +3 -3
- package/dist/types/loaders/sog.d.ts +3 -3
- package/dist/types/loaders/source.d.cts +43 -15
- package/dist/types/loaders/source.d.ts +43 -15
- package/dist/types/loaders/stream/StreamByteBudget.d.cts +4 -4
- package/dist/types/loaders/stream/StreamByteBudget.d.ts +4 -4
- package/dist/types/loaders/stream/StreamCameras.d.cts +27 -18
- package/dist/types/loaders/stream/StreamCameras.d.ts +27 -18
- package/dist/types/loaders/stream/StreamWorkerPool.d.cts +37 -34
- package/dist/types/loaders/stream/StreamWorkerPool.d.ts +37 -34
- package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.cts +15 -11
- package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.ts +15 -11
- package/dist/types/loaders/stream/rad-stream/RadStreamBatch.d.cts +13 -9
- package/dist/types/loaders/stream/rad-stream/RadStreamBatch.d.ts +13 -9
- package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.cts +64 -49
- package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.ts +64 -49
- package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.cts +110 -102
- package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.ts +110 -102
- package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.cts +3 -3
- package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.ts +3 -3
- package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.cts +27 -15
- package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.ts +27 -15
- package/dist/types/loaders/stream/rad-stream/radFade.d.cts +13 -8
- package/dist/types/loaders/stream/rad-stream/radFade.d.ts +13 -8
- package/dist/types/loaders/stream/rad-stream/radLod.d.cts +26 -26
- package/dist/types/loaders/stream/rad-stream/radLod.d.ts +26 -26
- package/dist/types/loaders/stream/rad-stream/worker.d.cts +3 -59
- package/dist/types/loaders/stream/rad-stream/worker.d.ts +3 -59
- package/dist/types/loaders/stream/rad-stream/workerHandlers.d.cts +85 -59
- package/dist/types/loaders/stream/rad-stream/workerHandlers.d.ts +85 -59
- package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.cts +17 -12
- package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.ts +17 -12
- package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.cts +56 -41
- package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.ts +56 -41
- package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.cts +82 -81
- package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.ts +82 -81
- package/dist/types/loaders/stream/sog-stream/SogStreamWorker.d.cts +3 -3
- package/dist/types/loaders/stream/sog-stream/SogStreamWorker.d.ts +3 -3
- package/dist/types/loaders/stream/sog-stream/sogLod.d.cts +59 -44
- package/dist/types/loaders/stream/sog-stream/sogLod.d.ts +59 -44
- package/dist/types/loaders/stream/sog-stream/sogVisibility.d.cts +30 -22
- package/dist/types/loaders/stream/sog-stream/sogVisibility.d.ts +30 -22
- package/dist/types/loaders/stream/sog-stream/worker.d.cts +7 -40
- package/dist/types/loaders/stream/sog-stream/worker.d.ts +7 -40
- package/dist/types/loaders/stream/sog-stream/workerHandlers.d.cts +69 -44
- package/dist/types/loaders/stream/sog-stream/workerHandlers.d.ts +69 -44
- package/dist/types/loaders/stream/streamOptions.d.cts +41 -32
- package/dist/types/loaders/stream/streamOptions.d.ts +41 -32
- package/dist/types/loaders/workerDecode.d.cts +30 -12
- package/dist/types/loaders/workerDecode.d.ts +30 -12
- package/dist/types/patches/threeR186.d.cts +3 -0
- package/dist/types/patches/threeR186.d.ts +3 -0
- package/dist/types/rendering/GaussianSplatRenderer.d.cts +393 -376
- package/dist/types/rendering/GaussianSplatRenderer.d.ts +393 -376
- package/dist/types/rendering/MaterialState.d.cts +9 -0
- package/dist/types/rendering/MaterialState.d.ts +9 -0
- package/dist/types/rendering/SortCenterCache.d.cts +17 -17
- package/dist/types/rendering/SortCenterCache.d.ts +17 -17
- package/dist/types/rendering/SplatAccumulator.d.cts +93 -77
- package/dist/types/rendering/SplatAccumulator.d.ts +93 -77
- package/dist/types/rendering/SplatGeometry.d.cts +2 -2
- package/dist/types/rendering/SplatGeometry.d.ts +2 -2
- package/dist/types/rendering/StochasticSplatMaterial.d.cts +14 -0
- package/dist/types/rendering/StochasticSplatMaterial.d.ts +14 -0
- package/dist/types/rendering/backend.d.cts +30 -18
- package/dist/types/rendering/backend.d.ts +30 -18
- package/dist/types/rendering/blueNoise.d.cts +1 -1
- package/dist/types/rendering/blueNoise.d.ts +1 -1
- package/dist/types/rendering/rendererUtils.d.cts +25 -10
- package/dist/types/rendering/rendererUtils.d.ts +25 -10
- package/dist/types/rendering/tsl/GenerateProgram.d.cts +19 -17
- package/dist/types/rendering/tsl/GenerateProgram.d.ts +19 -17
- package/dist/types/rendering/tsl/ProjectionProgram.d.cts +38 -33
- package/dist/types/rendering/tsl/ProjectionProgram.d.ts +38 -33
- package/dist/types/rendering/tsl/SplatBackend.d.cts +22 -10
- package/dist/types/rendering/tsl/SplatBackend.d.ts +22 -10
- package/dist/types/rendering/tsl/SplatMaterial.d.cts +38 -25
- package/dist/types/rendering/tsl/SplatMaterial.d.ts +38 -25
- package/dist/types/rendering/tsl/shaderUtils.d.cts +55 -17
- package/dist/types/rendering/tsl/shaderUtils.d.ts +55 -17
- package/dist/types/rendering/tsl/stochasticCoverage.d.cts +7 -0
- package/dist/types/rendering/tsl/stochasticCoverage.d.ts +7 -0
- package/dist/types/rendering/tsl/viewUniforms.d.cts +19 -9
- package/dist/types/rendering/tsl/viewUniforms.d.ts +19 -9
- package/dist/types/rendering/uniforms.d.cts +83 -83
- package/dist/types/rendering/uniforms.d.ts +83 -83
- package/dist/types/rendering/webgl/AccumulatorGenerator.d.cts +28 -12
- package/dist/types/rendering/webgl/AccumulatorGenerator.d.ts +28 -12
- package/dist/types/rendering/webgl/OrderingTexture.d.cts +10 -7
- package/dist/types/rendering/webgl/OrderingTexture.d.ts +10 -7
- package/dist/types/rendering/webgl/SplatBackend.d.cts +20 -15
- package/dist/types/rendering/webgl/SplatBackend.d.ts +20 -15
- package/dist/types/rendering/webgl/SplatMaterial.d.cts +9 -4
- package/dist/types/rendering/webgl/SplatMaterial.d.ts +9 -4
- package/dist/types/rendering/webgl/textureUtils.d.cts +10 -3
- package/dist/types/rendering/webgl/textureUtils.d.ts +10 -3
- package/dist/types/rendering/webgl-fallback/AccumulatorGenerator.d.cts +8 -10
- package/dist/types/rendering/webgl-fallback/AccumulatorGenerator.d.ts +8 -10
- package/dist/types/rendering/webgl-fallback/SplatBackend.d.cts +18 -14
- package/dist/types/rendering/webgl-fallback/SplatBackend.d.ts +18 -14
- package/dist/types/rendering/webgpu/ProjectedSplats.d.cts +76 -66
- package/dist/types/rendering/webgpu/ProjectedSplats.d.ts +76 -66
- package/dist/types/rendering/webgpu/ProjectionCache.d.cts +43 -28
- package/dist/types/rendering/webgpu/ProjectionCache.d.ts +43 -28
- package/dist/types/rendering/webgpu/ProjectionKernel.d.cts +22 -0
- package/dist/types/rendering/webgpu/ProjectionKernel.d.ts +22 -0
- package/dist/types/rendering/webgpu/RadixSort.d.cts +44 -40
- package/dist/types/rendering/webgpu/RadixSort.d.ts +44 -40
- package/dist/types/rendering/webgpu/SplatBackend.d.cts +14 -12
- package/dist/types/rendering/webgpu/SplatBackend.d.ts +14 -12
- package/dist/types/runtime/SplatWorker.d.cts +17 -13
- package/dist/types/runtime/SplatWorker.d.ts +17 -13
- package/dist/types/runtime/WorkerRpc.d.cts +26 -20
- package/dist/types/runtime/WorkerRpc.d.ts +26 -20
- package/dist/types/runtime/abort.d.cts +10 -5
- package/dist/types/runtime/abort.d.ts +10 -5
- package/dist/types/runtime/retry.d.cts +6 -6
- package/dist/types/runtime/retry.d.ts +6 -6
- package/dist/types/runtime/wasmCall.d.cts +3 -3
- package/dist/types/runtime/wasmCall.d.ts +3 -3
- package/dist/types/runtime/worker.d.cts +44 -24
- package/dist/types/runtime/worker.d.ts +44 -24
- package/dist/types/runtime/workerServer.d.cts +3 -1
- package/dist/types/runtime/workerServer.d.ts +3 -1
- package/dist/types/scene/SplatEdit.d.cts +74 -67
- package/dist/types/scene/SplatEdit.d.ts +74 -67
- package/dist/types/scene/SplatMesh.d.cts +92 -70
- package/dist/types/scene/SplatMesh.d.ts +92 -70
- package/dist/types/utils/index.d.cts +15 -7
- package/dist/types/utils/index.d.ts +15 -7
- package/dist/types/utils/three.d.cts +3 -3
- package/dist/types/utils/three.d.ts +3 -3
- package/dist/types/utils/transforms.d.cts +10 -3
- package/dist/types/utils/transforms.d.ts +10 -3
- package/docs/GaussianSplatRenderer.md +3 -1
- package/docs/NeuralDenoiseNode.md +148 -0
- package/docs/SplatMesh.md +1 -1
- package/docs/StochasticRendering.md +36 -10
- package/docs/TAAPass.md +20 -3
- package/package.json +9 -11
- package/dist/types/capture/sceneView.d.cts +0 -3
- package/dist/types/capture/sceneView.d.ts +0 -3
- package/dist/types/rendering/tsl/tslCompat.d.cts +0 -68
- package/dist/types/rendering/tsl/tslCompat.d.ts +0 -68
- package/docs/Architecture.md +0 -200
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import { CPUOrderingUpdate, SplatMaterialOptions } from '../backend.cjs';
|
|
2
|
-
import { Uniforms } from '../uniforms.cjs';
|
|
3
1
|
import type * as THREE from "three";
|
|
2
|
+
import type { CPUOrderingUpdate, SplatMaterialOptions } from "../backend.cjs";
|
|
3
|
+
import type { Uniforms } from "../uniforms.cjs";
|
|
4
4
|
/** WebGL materials and ordering-texture uploads. */
|
|
5
5
|
export declare class WebGLSplatBackend {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
readonly renderer: THREE.WebGLRenderer;
|
|
7
|
+
private readonly uniforms;
|
|
8
|
+
readonly kind = "webgl";
|
|
9
|
+
readonly sortedMaterial: THREE.ShaderMaterial;
|
|
10
|
+
readonly stochasticMaterial: THREE.ShaderMaterial;
|
|
11
|
+
private readonly ordering;
|
|
12
|
+
constructor(
|
|
13
|
+
renderer: THREE.WebGLRenderer,
|
|
14
|
+
uniforms: Uniforms,
|
|
15
|
+
options: SplatMaterialOptions,
|
|
16
|
+
);
|
|
17
|
+
selectMaterial(stochastic: boolean): THREE.ShaderMaterial;
|
|
18
|
+
getOrderingCapacity(count: number): number;
|
|
19
|
+
get cpuOrdering(): Uint32Array | null;
|
|
20
|
+
setCPUOrdering(update: CPUOrderingUpdate): void;
|
|
21
|
+
/** Unsorted draws read no ordering; the next sort allocates it again. */
|
|
22
|
+
releaseOrdering(): void;
|
|
23
|
+
dispose(): void;
|
|
19
24
|
}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import { CPUOrderingUpdate, SplatMaterialOptions } from '../backend';
|
|
2
|
-
import { Uniforms } from '../uniforms';
|
|
3
1
|
import type * as THREE from "three";
|
|
2
|
+
import type { CPUOrderingUpdate, SplatMaterialOptions } from "../backend.js";
|
|
3
|
+
import type { Uniforms } from "../uniforms.js";
|
|
4
4
|
/** WebGL materials and ordering-texture uploads. */
|
|
5
5
|
export declare class WebGLSplatBackend {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
readonly renderer: THREE.WebGLRenderer;
|
|
7
|
+
private readonly uniforms;
|
|
8
|
+
readonly kind = "webgl";
|
|
9
|
+
readonly sortedMaterial: THREE.ShaderMaterial;
|
|
10
|
+
readonly stochasticMaterial: THREE.ShaderMaterial;
|
|
11
|
+
private readonly ordering;
|
|
12
|
+
constructor(
|
|
13
|
+
renderer: THREE.WebGLRenderer,
|
|
14
|
+
uniforms: Uniforms,
|
|
15
|
+
options: SplatMaterialOptions,
|
|
16
|
+
);
|
|
17
|
+
selectMaterial(stochastic: boolean): THREE.ShaderMaterial;
|
|
18
|
+
getOrderingCapacity(count: number): number;
|
|
19
|
+
get cpuOrdering(): Uint32Array | null;
|
|
20
|
+
setCPUOrdering(update: CPUOrderingUpdate): void;
|
|
21
|
+
/** Unsorted draws read no ordering; the next sort allocates it again. */
|
|
22
|
+
releaseOrdering(): void;
|
|
23
|
+
dispose(): void;
|
|
19
24
|
}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
1
|
+
import type * as THREE from "three";
|
|
2
|
+
import type { SplatMaterialOptions } from "../backend.cjs";
|
|
3
|
+
import type { Uniforms } from "../uniforms.cjs";
|
|
4
|
+
/** Sorted and stochastic variants keep separate programs. */
|
|
5
|
+
export declare function createWebGLSplatMaterial(
|
|
6
|
+
uniforms: Uniforms,
|
|
7
|
+
options: SplatMaterialOptions,
|
|
8
|
+
stochastic: boolean,
|
|
9
|
+
): THREE.ShaderMaterial;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
1
|
+
import type * as THREE from "three";
|
|
2
|
+
import type { SplatMaterialOptions } from "../backend.js";
|
|
3
|
+
import type { Uniforms } from "../uniforms.js";
|
|
4
|
+
/** Sorted and stochastic variants keep separate programs. */
|
|
5
|
+
export declare function createWebGLSplatMaterial(
|
|
6
|
+
uniforms: Uniforms,
|
|
7
|
+
options: SplatMaterialOptions,
|
|
8
|
+
stochastic: boolean,
|
|
9
|
+
): THREE.ShaderMaterial;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
import * as THREE from "three";
|
|
2
|
-
export declare const IDENT_VERTEX_SHADER =
|
|
3
|
-
|
|
1
|
+
import type * as THREE from "three";
|
|
2
|
+
export declare const IDENT_VERTEX_SHADER =
|
|
3
|
+
"\nprecision highp float;\n\nin vec3 position;\n\nvoid main() {\n gl_Position = vec4(position.xy, 0.0, 1.0);\n}\n";
|
|
4
|
+
export declare function uploadU32DataTextureRows(
|
|
5
|
+
renderer: THREE.WebGLRenderer,
|
|
6
|
+
texture: THREE.Texture,
|
|
7
|
+
width: number,
|
|
8
|
+
rows: number,
|
|
9
|
+
data: Uint32Array,
|
|
10
|
+
): void;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
import * as THREE from "three";
|
|
2
|
-
export declare const IDENT_VERTEX_SHADER =
|
|
3
|
-
|
|
1
|
+
import type * as THREE from "three";
|
|
2
|
+
export declare const IDENT_VERTEX_SHADER =
|
|
3
|
+
"\nprecision highp float;\n\nin vec3 position;\n\nvoid main() {\n gl_Position = vec4(position.xy, 0.0, 1.0);\n}\n";
|
|
4
|
+
export declare function uploadU32DataTextureRows(
|
|
5
|
+
renderer: THREE.WebGLRenderer,
|
|
6
|
+
texture: THREE.Texture,
|
|
7
|
+
width: number,
|
|
8
|
+
rows: number,
|
|
9
|
+
data: Uint32Array,
|
|
10
|
+
): void;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { WebGPURenderer } from
|
|
2
|
-
import { AccumulatorRenderOptions } from
|
|
3
|
-
import * as THREE from "three";
|
|
4
|
-
export declare function createWebGLFallbackAccumulatorTarget(width: number, height: number, depth: number, stochasticSeeds: boolean): THREE.WebGLArrayRenderTarget;
|
|
1
|
+
import type { WebGPURenderer } from "three/webgpu";
|
|
2
|
+
import type { AccumulatorRenderOptions } from "../webgl/AccumulatorGenerator.cjs";
|
|
5
3
|
/**
|
|
6
4
|
* Rasterizes Splat records, and for stochastic targets stable sampling seeds,
|
|
7
5
|
* into integer arrays.
|
|
8
6
|
*/
|
|
9
7
|
export declare class WebGLFallbackAccumulatorGenerator {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
readonly uniforms: import("../uniforms.cjs").Uniforms;
|
|
9
|
+
private readonly material;
|
|
10
|
+
private readonly quad;
|
|
11
|
+
constructor(stochasticSeeds: boolean);
|
|
12
|
+
generate(options: AccumulatorRenderOptions<WebGPURenderer>): void;
|
|
13
|
+
dispose(): void;
|
|
16
14
|
}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { WebGPURenderer } from
|
|
2
|
-
import { AccumulatorRenderOptions } from
|
|
3
|
-
import * as THREE from "three";
|
|
4
|
-
export declare function createWebGLFallbackAccumulatorTarget(width: number, height: number, depth: number, stochasticSeeds: boolean): THREE.WebGLArrayRenderTarget;
|
|
1
|
+
import type { WebGPURenderer } from "three/webgpu";
|
|
2
|
+
import type { AccumulatorRenderOptions } from "../webgl/AccumulatorGenerator.js";
|
|
5
3
|
/**
|
|
6
4
|
* Rasterizes Splat records, and for stochastic targets stable sampling seeds,
|
|
7
5
|
* into integer arrays.
|
|
8
6
|
*/
|
|
9
7
|
export declare class WebGLFallbackAccumulatorGenerator {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
readonly uniforms: import("../uniforms.js").Uniforms;
|
|
9
|
+
private readonly material;
|
|
10
|
+
private readonly quad;
|
|
11
|
+
constructor(stochasticSeeds: boolean);
|
|
12
|
+
generate(options: AccumulatorRenderOptions<WebGPURenderer>): void;
|
|
13
|
+
dispose(): void;
|
|
16
14
|
}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import { WebGPURenderer } from
|
|
2
|
-
import { CPUOrderingUpdate, SplatMaterialOptions } from
|
|
3
|
-
import { NodeSplatBackend } from
|
|
4
|
-
import { Uniforms } from
|
|
1
|
+
import type { WebGPURenderer } from "three/webgpu";
|
|
2
|
+
import type { CPUOrderingUpdate, SplatMaterialOptions } from "../backend.cjs";
|
|
3
|
+
import { NodeSplatBackend } from "../tsl/SplatBackend.cjs";
|
|
4
|
+
import type { Uniforms } from "../uniforms.cjs";
|
|
5
5
|
/** TSL drawing with CPU-sorted indices stored in an integer texture. */
|
|
6
6
|
export declare class WebGLFallbackSplatBackend extends NodeSplatBackend {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
readonly kind = "webgl-fallback";
|
|
8
|
+
private readonly ordering;
|
|
9
|
+
private readonly orderingNode;
|
|
10
|
+
constructor(
|
|
11
|
+
renderer: WebGPURenderer,
|
|
12
|
+
uniforms: Uniforms,
|
|
13
|
+
options: SplatMaterialOptions,
|
|
14
|
+
);
|
|
15
|
+
getOrderingCapacity(count: number): number;
|
|
16
|
+
get cpuOrdering(): Uint32Array | null;
|
|
17
|
+
setCPUOrdering(update: CPUOrderingUpdate): void;
|
|
18
|
+
/** Unsorted draws read no ordering; the next sort allocates it again. */
|
|
19
|
+
releaseOrdering(): void;
|
|
20
|
+
dispose(): void;
|
|
17
21
|
}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import { WebGPURenderer } from
|
|
2
|
-
import { CPUOrderingUpdate, SplatMaterialOptions } from
|
|
3
|
-
import { NodeSplatBackend } from
|
|
4
|
-
import { Uniforms } from
|
|
1
|
+
import type { WebGPURenderer } from "three/webgpu";
|
|
2
|
+
import type { CPUOrderingUpdate, SplatMaterialOptions } from "../backend.js";
|
|
3
|
+
import { NodeSplatBackend } from "../tsl/SplatBackend.js";
|
|
4
|
+
import type { Uniforms } from "../uniforms.js";
|
|
5
5
|
/** TSL drawing with CPU-sorted indices stored in an integer texture. */
|
|
6
6
|
export declare class WebGLFallbackSplatBackend extends NodeSplatBackend {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
readonly kind = "webgl-fallback";
|
|
8
|
+
private readonly ordering;
|
|
9
|
+
private readonly orderingNode;
|
|
10
|
+
constructor(
|
|
11
|
+
renderer: WebGPURenderer,
|
|
12
|
+
uniforms: Uniforms,
|
|
13
|
+
options: SplatMaterialOptions,
|
|
14
|
+
);
|
|
15
|
+
getOrderingCapacity(count: number): number;
|
|
16
|
+
get cpuOrdering(): Uint32Array | null;
|
|
17
|
+
setCPUOrdering(update: CPUOrderingUpdate): void;
|
|
18
|
+
/** Unsorted draws read no ordering; the next sort allocates it again. */
|
|
19
|
+
releaseOrdering(): void;
|
|
20
|
+
dispose(): void;
|
|
17
21
|
}
|
|
@@ -1,69 +1,79 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import
|
|
1
|
+
import type * as THREE from "three";
|
|
2
|
+
import type {
|
|
3
|
+
IndirectStorageBufferAttribute,
|
|
4
|
+
WebGPURenderer,
|
|
5
|
+
} from "three/webgpu";
|
|
6
|
+
import type { SplatAccumulator } from "../SplatAccumulator.cjs";
|
|
7
|
+
import type { SplatGeometry } from "../SplatGeometry.cjs";
|
|
8
|
+
import type { ProjectedVertexData } from "../tsl/SplatMaterial.cjs";
|
|
9
|
+
import type { Uniforms } from "../uniforms.cjs";
|
|
7
10
|
/** Fixed compute graph. Source mappings and storage may change without rebuilding shaders. */
|
|
8
11
|
export declare class ProjectedSplats {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
12
|
+
private readonly renderer;
|
|
13
|
+
private readonly uniforms;
|
|
14
|
+
readonly indirect: IndirectStorageBufferAttribute;
|
|
15
|
+
/** Common and sorting kernels plus the first mono and stereo slots are ready to draw. */
|
|
16
|
+
readonly ready: Promise<void>;
|
|
17
|
+
error: unknown;
|
|
18
|
+
/**
|
|
19
|
+
* Compact storage and refresh existing bindings without compiling or
|
|
20
|
+
* stopping draws. Reads the Splat count once startup slots have compiled.
|
|
21
|
+
*/
|
|
22
|
+
shrinkResources(getCount: () => number): Promise<void>;
|
|
23
|
+
/** Requests a redraw when an XR session ends and eye storage can shrink. */
|
|
24
|
+
onViewsReleased?: () => void;
|
|
25
|
+
private readonly limits;
|
|
26
|
+
private readonly cache;
|
|
27
|
+
private readonly visibleCount;
|
|
28
|
+
private readonly keys;
|
|
29
|
+
private readonly seeds;
|
|
30
|
+
private readonly sorter;
|
|
31
|
+
private readonly slotSets;
|
|
32
|
+
private readonly nodes;
|
|
33
|
+
private kernelWork;
|
|
34
|
+
private shrinkViews;
|
|
35
|
+
private readonly onSessionEnd;
|
|
36
|
+
private readonly resetCount;
|
|
37
|
+
private readonly finish;
|
|
38
|
+
private readonly state;
|
|
39
|
+
private readonly matrix;
|
|
40
|
+
private readonly translation;
|
|
41
|
+
private readonly scale;
|
|
42
|
+
private readonly viewPosition;
|
|
43
|
+
private capacity;
|
|
44
|
+
private viewCapacity;
|
|
45
|
+
private disposed;
|
|
46
|
+
private projectedInputs;
|
|
47
|
+
private pendingInputs;
|
|
48
|
+
constructor(renderer: WebGPURenderer, uniforms: Uniforms);
|
|
49
|
+
private createSlot;
|
|
50
|
+
/** Projection uniforms of the precompiled eyes after the first. */
|
|
51
|
+
private ensureEyeUniforms;
|
|
52
|
+
private createSlotSet;
|
|
53
|
+
/** Warm the remaining slots at startup, yielding between each compilation. */
|
|
54
|
+
private compileSlots;
|
|
55
|
+
/** The selected, precompiled mode for mono or WebXR stereo. */
|
|
56
|
+
private getSlots;
|
|
57
|
+
private compact;
|
|
58
|
+
vertexData(camera: THREE.Camera, stochastic: boolean): ProjectedVertexData;
|
|
59
|
+
private resizeBuffer;
|
|
60
|
+
private resize;
|
|
61
|
+
render(
|
|
62
|
+
accumulator: SplatAccumulator,
|
|
63
|
+
camera: THREE.Camera,
|
|
64
|
+
geometry: SplatGeometry,
|
|
65
|
+
radial: boolean,
|
|
66
|
+
fastSort: boolean,
|
|
67
|
+
): boolean;
|
|
68
|
+
/** Projection uniforms for one eye; eye 0 also serves mono draws. */
|
|
69
|
+
private setEye;
|
|
70
|
+
/** Sort from the views' mean pose: the camera, or the WebXR head. */
|
|
71
|
+
private setSortPose;
|
|
72
|
+
/**
|
|
73
|
+
* Generates, projects, compacts and sorts the meshes any view draws. Sorted
|
|
74
|
+
* modes also visit hidden meshes, which only mark their keys absent.
|
|
75
|
+
*/
|
|
76
|
+
private dispatch;
|
|
77
|
+
dispose(): void;
|
|
78
|
+
private disposeResources;
|
|
69
79
|
}
|
|
@@ -1,69 +1,79 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import
|
|
1
|
+
import type * as THREE from "three";
|
|
2
|
+
import type {
|
|
3
|
+
IndirectStorageBufferAttribute,
|
|
4
|
+
WebGPURenderer,
|
|
5
|
+
} from "three/webgpu";
|
|
6
|
+
import type { SplatAccumulator } from "../SplatAccumulator.js";
|
|
7
|
+
import type { SplatGeometry } from "../SplatGeometry.js";
|
|
8
|
+
import type { ProjectedVertexData } from "../tsl/SplatMaterial.js";
|
|
9
|
+
import type { Uniforms } from "../uniforms.js";
|
|
7
10
|
/** Fixed compute graph. Source mappings and storage may change without rebuilding shaders. */
|
|
8
11
|
export declare class ProjectedSplats {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
12
|
+
private readonly renderer;
|
|
13
|
+
private readonly uniforms;
|
|
14
|
+
readonly indirect: IndirectStorageBufferAttribute;
|
|
15
|
+
/** Common and sorting kernels plus the first mono and stereo slots are ready to draw. */
|
|
16
|
+
readonly ready: Promise<void>;
|
|
17
|
+
error: unknown;
|
|
18
|
+
/**
|
|
19
|
+
* Compact storage and refresh existing bindings without compiling or
|
|
20
|
+
* stopping draws. Reads the Splat count once startup slots have compiled.
|
|
21
|
+
*/
|
|
22
|
+
shrinkResources(getCount: () => number): Promise<void>;
|
|
23
|
+
/** Requests a redraw when an XR session ends and eye storage can shrink. */
|
|
24
|
+
onViewsReleased?: () => void;
|
|
25
|
+
private readonly limits;
|
|
26
|
+
private readonly cache;
|
|
27
|
+
private readonly visibleCount;
|
|
28
|
+
private readonly keys;
|
|
29
|
+
private readonly seeds;
|
|
30
|
+
private readonly sorter;
|
|
31
|
+
private readonly slotSets;
|
|
32
|
+
private readonly nodes;
|
|
33
|
+
private kernelWork;
|
|
34
|
+
private shrinkViews;
|
|
35
|
+
private readonly onSessionEnd;
|
|
36
|
+
private readonly resetCount;
|
|
37
|
+
private readonly finish;
|
|
38
|
+
private readonly state;
|
|
39
|
+
private readonly matrix;
|
|
40
|
+
private readonly translation;
|
|
41
|
+
private readonly scale;
|
|
42
|
+
private readonly viewPosition;
|
|
43
|
+
private capacity;
|
|
44
|
+
private viewCapacity;
|
|
45
|
+
private disposed;
|
|
46
|
+
private projectedInputs;
|
|
47
|
+
private pendingInputs;
|
|
48
|
+
constructor(renderer: WebGPURenderer, uniforms: Uniforms);
|
|
49
|
+
private createSlot;
|
|
50
|
+
/** Projection uniforms of the precompiled eyes after the first. */
|
|
51
|
+
private ensureEyeUniforms;
|
|
52
|
+
private createSlotSet;
|
|
53
|
+
/** Warm the remaining slots at startup, yielding between each compilation. */
|
|
54
|
+
private compileSlots;
|
|
55
|
+
/** The selected, precompiled mode for mono or WebXR stereo. */
|
|
56
|
+
private getSlots;
|
|
57
|
+
private compact;
|
|
58
|
+
vertexData(camera: THREE.Camera, stochastic: boolean): ProjectedVertexData;
|
|
59
|
+
private resizeBuffer;
|
|
60
|
+
private resize;
|
|
61
|
+
render(
|
|
62
|
+
accumulator: SplatAccumulator,
|
|
63
|
+
camera: THREE.Camera,
|
|
64
|
+
geometry: SplatGeometry,
|
|
65
|
+
radial: boolean,
|
|
66
|
+
fastSort: boolean,
|
|
67
|
+
): boolean;
|
|
68
|
+
/** Projection uniforms for one eye; eye 0 also serves mono draws. */
|
|
69
|
+
private setEye;
|
|
70
|
+
/** Sort from the views' mean pose: the camera, or the WebXR head. */
|
|
71
|
+
private setSortPose;
|
|
72
|
+
/**
|
|
73
|
+
* Generates, projects, compacts and sorts the meshes any view draws. Sorted
|
|
74
|
+
* modes also visit hidden meshes, which only mark their keys absent.
|
|
75
|
+
*/
|
|
76
|
+
private dispatch;
|
|
77
|
+
dispose(): void;
|
|
78
|
+
private disposeResources;
|
|
69
79
|
}
|