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
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
DepthTexture,
|
|
3
|
+
Matrix4,
|
|
4
|
+
OrthographicCamera,
|
|
5
|
+
PerspectiveCamera,
|
|
6
|
+
Scene,
|
|
7
|
+
} from "three";
|
|
8
|
+
import { Node, type NodeBuilder, type NodeFrame } from "three/webgpu";
|
|
9
|
+
export type NeuralDenoiseMode = "performance" | "quality";
|
|
10
|
+
/**
|
|
11
|
+
* Experimental temporal neural denoiser for stochastic Splat rendering on WebGPURenderer,
|
|
12
|
+
* including its WebGL2 fallback,
|
|
13
|
+
* used in place of TAANode. After Hu et al., "Ultra-fast Neural Inference for
|
|
14
|
+
* Stochastic Gaussian Splatting Denoising" (arXiv 2609.25604), adapted to
|
|
15
|
+
* scenes whose objects move.
|
|
16
|
+
*/
|
|
17
|
+
export declare class NeuralDenoiseNode extends Node<"vec4"> {
|
|
18
|
+
scene: Scene;
|
|
19
|
+
camera: PerspectiveCamera | OrthographicCamera;
|
|
20
|
+
readonly mode: NeuralDenoiseMode;
|
|
21
|
+
readonly msaa: boolean;
|
|
22
|
+
private readonly coverage;
|
|
23
|
+
static get type(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Blends the result with the previous image where the network trusts it.
|
|
26
|
+
* Applies to both modes; turn it off for the two history paths alone.
|
|
27
|
+
*/
|
|
28
|
+
stabilize: boolean;
|
|
29
|
+
private readonly source;
|
|
30
|
+
private readonly history;
|
|
31
|
+
private readonly textureNode;
|
|
32
|
+
private readonly encoded;
|
|
33
|
+
private readonly outputColor;
|
|
34
|
+
private readonly state;
|
|
35
|
+
private passes;
|
|
36
|
+
private readonly depth;
|
|
37
|
+
private depthRead;
|
|
38
|
+
private readonly previousWorld;
|
|
39
|
+
private readonly previousProjection;
|
|
40
|
+
private readonly relative;
|
|
41
|
+
/** Frames drawn, for the scene's place in its target. */
|
|
42
|
+
private frame;
|
|
43
|
+
private readonly toPreviousClip;
|
|
44
|
+
private readonly drawingSize;
|
|
45
|
+
private workingColorSpace;
|
|
46
|
+
private readonly pipelineStates;
|
|
47
|
+
private pipelineRendering;
|
|
48
|
+
private capturePending;
|
|
49
|
+
/**
|
|
50
|
+
* @param mode Fixed local filtering or learned multiscale quality (default).
|
|
51
|
+
* @param msaa Enable 4× MSAA (default false).
|
|
52
|
+
* Fixed for the node's lifetime.
|
|
53
|
+
*/
|
|
54
|
+
constructor(
|
|
55
|
+
scene: Scene,
|
|
56
|
+
camera: PerspectiveCamera | OrthographicCamera,
|
|
57
|
+
mode?: NeuralDenoiseMode,
|
|
58
|
+
msaa?: boolean,
|
|
59
|
+
);
|
|
60
|
+
/** Scene depth of the current frame, kept from the first read on. */
|
|
61
|
+
get depthTexture(): DepthTexture;
|
|
62
|
+
/** The projection `depthTexture` was rendered with. */
|
|
63
|
+
get projectionMatrix(): Matrix4;
|
|
64
|
+
/** The denoised image, for chaining effects. */
|
|
65
|
+
getTextureNode(): Node<"vec4">;
|
|
66
|
+
setSize(width: number, height: number): void;
|
|
67
|
+
/** Discards earlier frames, as after a camera cut. */
|
|
68
|
+
reset(): void;
|
|
69
|
+
updateBefore(frame: NodeFrame): undefined;
|
|
70
|
+
setup(builder: NodeBuilder): Node<"vec4">;
|
|
71
|
+
dispose(): void;
|
|
72
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
DepthTexture,
|
|
3
|
+
Matrix4,
|
|
4
|
+
OrthographicCamera,
|
|
5
|
+
PerspectiveCamera,
|
|
6
|
+
Scene,
|
|
7
|
+
} from "three";
|
|
8
|
+
import { Node, type NodeBuilder, type NodeFrame } from "three/webgpu";
|
|
9
|
+
export type NeuralDenoiseMode = "performance" | "quality";
|
|
10
|
+
/**
|
|
11
|
+
* Experimental temporal neural denoiser for stochastic Splat rendering on WebGPURenderer,
|
|
12
|
+
* including its WebGL2 fallback,
|
|
13
|
+
* used in place of TAANode. After Hu et al., "Ultra-fast Neural Inference for
|
|
14
|
+
* Stochastic Gaussian Splatting Denoising" (arXiv 2609.25604), adapted to
|
|
15
|
+
* scenes whose objects move.
|
|
16
|
+
*/
|
|
17
|
+
export declare class NeuralDenoiseNode extends Node<"vec4"> {
|
|
18
|
+
scene: Scene;
|
|
19
|
+
camera: PerspectiveCamera | OrthographicCamera;
|
|
20
|
+
readonly mode: NeuralDenoiseMode;
|
|
21
|
+
readonly msaa: boolean;
|
|
22
|
+
private readonly coverage;
|
|
23
|
+
static get type(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Blends the result with the previous image where the network trusts it.
|
|
26
|
+
* Applies to both modes; turn it off for the two history paths alone.
|
|
27
|
+
*/
|
|
28
|
+
stabilize: boolean;
|
|
29
|
+
private readonly source;
|
|
30
|
+
private readonly history;
|
|
31
|
+
private readonly textureNode;
|
|
32
|
+
private readonly encoded;
|
|
33
|
+
private readonly outputColor;
|
|
34
|
+
private readonly state;
|
|
35
|
+
private passes;
|
|
36
|
+
private readonly depth;
|
|
37
|
+
private depthRead;
|
|
38
|
+
private readonly previousWorld;
|
|
39
|
+
private readonly previousProjection;
|
|
40
|
+
private readonly relative;
|
|
41
|
+
/** Frames drawn, for the scene's place in its target. */
|
|
42
|
+
private frame;
|
|
43
|
+
private readonly toPreviousClip;
|
|
44
|
+
private readonly drawingSize;
|
|
45
|
+
private workingColorSpace;
|
|
46
|
+
private readonly pipelineStates;
|
|
47
|
+
private pipelineRendering;
|
|
48
|
+
private capturePending;
|
|
49
|
+
/**
|
|
50
|
+
* @param mode Fixed local filtering or learned multiscale quality (default).
|
|
51
|
+
* @param msaa Enable 4× MSAA (default false).
|
|
52
|
+
* Fixed for the node's lifetime.
|
|
53
|
+
*/
|
|
54
|
+
constructor(
|
|
55
|
+
scene: Scene,
|
|
56
|
+
camera: PerspectiveCamera | OrthographicCamera,
|
|
57
|
+
mode?: NeuralDenoiseMode,
|
|
58
|
+
msaa?: boolean,
|
|
59
|
+
);
|
|
60
|
+
/** Scene depth of the current frame, kept from the first read on. */
|
|
61
|
+
get depthTexture(): DepthTexture;
|
|
62
|
+
/** The projection `depthTexture` was rendered with. */
|
|
63
|
+
get projectionMatrix(): Matrix4;
|
|
64
|
+
/** The denoised image, for chaining effects. */
|
|
65
|
+
getTextureNode(): Node<"vec4">;
|
|
66
|
+
setSize(width: number, height: number): void;
|
|
67
|
+
/** Discards earlier frames, as after a camera cut. */
|
|
68
|
+
reset(): void;
|
|
69
|
+
updateBefore(frame: NodeFrame): undefined;
|
|
70
|
+
setup(builder: NodeBuilder): Node<"vec4">;
|
|
71
|
+
dispose(): void;
|
|
72
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
DepthTexture,
|
|
3
|
+
Matrix4,
|
|
4
|
+
OrthographicCamera,
|
|
5
|
+
PerspectiveCamera,
|
|
6
|
+
Scene,
|
|
7
|
+
WebGLRenderTarget,
|
|
8
|
+
WebGLRenderer,
|
|
9
|
+
} from "three";
|
|
10
|
+
import { Pass } from "three/addons/postprocessing/Pass.js";
|
|
11
|
+
import type { NeuralDenoiseMode } from "./NeuralDenoiseNode.cjs";
|
|
12
|
+
/** Experimental neural denoising for WebGLRenderer. Use with EffectComposer and OutputPass. */
|
|
13
|
+
export declare class NeuralDenoisePass extends Pass {
|
|
14
|
+
private readonly denoise;
|
|
15
|
+
private readonly copy;
|
|
16
|
+
private readonly quad;
|
|
17
|
+
constructor(
|
|
18
|
+
scene: Scene,
|
|
19
|
+
camera: PerspectiveCamera | OrthographicCamera,
|
|
20
|
+
mode?: NeuralDenoiseMode,
|
|
21
|
+
msaa?: boolean,
|
|
22
|
+
);
|
|
23
|
+
scene: Scene;
|
|
24
|
+
camera: PerspectiveCamera | OrthographicCamera;
|
|
25
|
+
readonly mode: NeuralDenoiseMode;
|
|
26
|
+
readonly msaa: boolean;
|
|
27
|
+
stabilize: boolean;
|
|
28
|
+
readonly depthTexture: DepthTexture;
|
|
29
|
+
readonly projectionMatrix: Matrix4;
|
|
30
|
+
setSize(width: number, height: number): void;
|
|
31
|
+
reset(): void;
|
|
32
|
+
render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget): void;
|
|
33
|
+
dispose(): void;
|
|
34
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
DepthTexture,
|
|
3
|
+
Matrix4,
|
|
4
|
+
OrthographicCamera,
|
|
5
|
+
PerspectiveCamera,
|
|
6
|
+
Scene,
|
|
7
|
+
WebGLRenderTarget,
|
|
8
|
+
WebGLRenderer,
|
|
9
|
+
} from "three";
|
|
10
|
+
import { Pass } from "three/addons/postprocessing/Pass.js";
|
|
11
|
+
import type { NeuralDenoiseMode } from "./NeuralDenoiseNode.js";
|
|
12
|
+
/** Experimental neural denoising for WebGLRenderer. Use with EffectComposer and OutputPass. */
|
|
13
|
+
export declare class NeuralDenoisePass extends Pass {
|
|
14
|
+
private readonly denoise;
|
|
15
|
+
private readonly copy;
|
|
16
|
+
private readonly quad;
|
|
17
|
+
constructor(
|
|
18
|
+
scene: Scene,
|
|
19
|
+
camera: PerspectiveCamera | OrthographicCamera,
|
|
20
|
+
mode?: NeuralDenoiseMode,
|
|
21
|
+
msaa?: boolean,
|
|
22
|
+
);
|
|
23
|
+
scene: Scene;
|
|
24
|
+
camera: PerspectiveCamera | OrthographicCamera;
|
|
25
|
+
readonly mode: NeuralDenoiseMode;
|
|
26
|
+
readonly msaa: boolean;
|
|
27
|
+
stabilize: boolean;
|
|
28
|
+
readonly depthTexture: DepthTexture;
|
|
29
|
+
readonly projectionMatrix: Matrix4;
|
|
30
|
+
setSize(width: number, height: number): void;
|
|
31
|
+
reset(): void;
|
|
32
|
+
render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget): void;
|
|
33
|
+
dispose(): void;
|
|
34
|
+
}
|
|
@@ -1,36 +1,49 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
DepthTexture,
|
|
3
|
+
Matrix4,
|
|
4
|
+
OrthographicCamera,
|
|
5
|
+
PerspectiveCamera,
|
|
6
|
+
Scene,
|
|
7
|
+
} from "three";
|
|
8
|
+
import { Node, type NodeBuilder, type NodeFrame } from "three/webgpu";
|
|
3
9
|
/** Camera/depth TAA for WebGPURenderer, including its WebGL2 fallback. */
|
|
4
10
|
export declare class TAANode extends Node<"vec4"> {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
11
|
+
scene: Scene;
|
|
12
|
+
camera: PerspectiveCamera | OrthographicCamera;
|
|
13
|
+
readonly msaa: boolean;
|
|
14
|
+
private readonly coverage;
|
|
15
|
+
static get type(): string;
|
|
16
|
+
depthThreshold: number;
|
|
17
|
+
edgeDepthDiff: number;
|
|
18
|
+
maxMotionLength: number;
|
|
19
|
+
useSubpixelCorrection: boolean;
|
|
20
|
+
private readonly source;
|
|
21
|
+
private readonly history;
|
|
22
|
+
private readonly historyColor;
|
|
23
|
+
private readonly historyDepth;
|
|
24
|
+
private readonly textureNode;
|
|
25
|
+
private readonly material;
|
|
26
|
+
private readonly quad;
|
|
27
|
+
private readonly state;
|
|
28
|
+
private readonly zeroToOne;
|
|
29
|
+
private readonly drawingSize;
|
|
30
|
+
private workingColorSpace;
|
|
31
|
+
private readonly pipelineStates;
|
|
32
|
+
private pipelineRendering;
|
|
33
|
+
private capturePending;
|
|
34
|
+
/** @param msaa Enable 4× MSAA (default false). Fixed for the node's lifetime. */
|
|
35
|
+
constructor(
|
|
36
|
+
scene: Scene,
|
|
37
|
+
camera: PerspectiveCamera | OrthographicCamera,
|
|
38
|
+
msaa?: boolean,
|
|
39
|
+
);
|
|
40
|
+
private makeTarget;
|
|
41
|
+
get depthTexture(): DepthTexture;
|
|
42
|
+
get projectionMatrix(): Matrix4;
|
|
43
|
+
getTextureNode(): import("three/webgpu").TextureNode;
|
|
44
|
+
setSize(width: number, height: number): void;
|
|
45
|
+
reset(): void;
|
|
46
|
+
updateBefore(frame: NodeFrame): undefined;
|
|
47
|
+
setup(builder: NodeBuilder): import("three/webgpu").TextureNode;
|
|
48
|
+
dispose(): void;
|
|
36
49
|
}
|
|
@@ -1,36 +1,49 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
DepthTexture,
|
|
3
|
+
Matrix4,
|
|
4
|
+
OrthographicCamera,
|
|
5
|
+
PerspectiveCamera,
|
|
6
|
+
Scene,
|
|
7
|
+
} from "three";
|
|
8
|
+
import { Node, type NodeBuilder, type NodeFrame } from "three/webgpu";
|
|
3
9
|
/** Camera/depth TAA for WebGPURenderer, including its WebGL2 fallback. */
|
|
4
10
|
export declare class TAANode extends Node<"vec4"> {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
11
|
+
scene: Scene;
|
|
12
|
+
camera: PerspectiveCamera | OrthographicCamera;
|
|
13
|
+
readonly msaa: boolean;
|
|
14
|
+
private readonly coverage;
|
|
15
|
+
static get type(): string;
|
|
16
|
+
depthThreshold: number;
|
|
17
|
+
edgeDepthDiff: number;
|
|
18
|
+
maxMotionLength: number;
|
|
19
|
+
useSubpixelCorrection: boolean;
|
|
20
|
+
private readonly source;
|
|
21
|
+
private readonly history;
|
|
22
|
+
private readonly historyColor;
|
|
23
|
+
private readonly historyDepth;
|
|
24
|
+
private readonly textureNode;
|
|
25
|
+
private readonly material;
|
|
26
|
+
private readonly quad;
|
|
27
|
+
private readonly state;
|
|
28
|
+
private readonly zeroToOne;
|
|
29
|
+
private readonly drawingSize;
|
|
30
|
+
private workingColorSpace;
|
|
31
|
+
private readonly pipelineStates;
|
|
32
|
+
private pipelineRendering;
|
|
33
|
+
private capturePending;
|
|
34
|
+
/** @param msaa Enable 4× MSAA (default false). Fixed for the node's lifetime. */
|
|
35
|
+
constructor(
|
|
36
|
+
scene: Scene,
|
|
37
|
+
camera: PerspectiveCamera | OrthographicCamera,
|
|
38
|
+
msaa?: boolean,
|
|
39
|
+
);
|
|
40
|
+
private makeTarget;
|
|
41
|
+
get depthTexture(): DepthTexture;
|
|
42
|
+
get projectionMatrix(): Matrix4;
|
|
43
|
+
getTextureNode(): import("three/webgpu").TextureNode;
|
|
44
|
+
setSize(width: number, height: number): void;
|
|
45
|
+
reset(): void;
|
|
46
|
+
updateBefore(frame: NodeFrame): undefined;
|
|
47
|
+
setup(builder: NodeBuilder): import("three/webgpu").TextureNode;
|
|
48
|
+
dispose(): void;
|
|
36
49
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
DepthTexture,
|
|
3
|
+
Matrix4,
|
|
4
|
+
OrthographicCamera,
|
|
5
|
+
PerspectiveCamera,
|
|
6
|
+
Scene,
|
|
7
|
+
WebGLRenderTarget,
|
|
8
|
+
WebGLRenderer,
|
|
9
|
+
} from "three";
|
|
10
|
+
import { Pass } from "three/addons/postprocessing/Pass.js";
|
|
3
11
|
/**
|
|
4
12
|
* Temporal reprojection for WebGLRenderer, using depth and camera motion.
|
|
5
13
|
* Object motion is not tracked; no velocity texture is required.
|
|
@@ -9,34 +17,41 @@ import { Pass } from 'three/addons/postprocessing/Pass.js';
|
|
|
9
17
|
* output.
|
|
10
18
|
*/
|
|
11
19
|
export declare class TAAPass extends Pass {
|
|
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
|
-
|
|
20
|
+
scene: Scene;
|
|
21
|
+
camera: PerspectiveCamera | OrthographicCamera;
|
|
22
|
+
readonly msaa: boolean;
|
|
23
|
+
private readonly _coverage;
|
|
24
|
+
/** Depth difference above which non-edge history is rejected. */
|
|
25
|
+
depthThreshold: number;
|
|
26
|
+
/** Depth range within the 3x3 neighborhood that identifies an edge. */
|
|
27
|
+
edgeDepthDiff: number;
|
|
28
|
+
/** Camera motion in pixels at which history loses all weight. */
|
|
29
|
+
maxMotionLength: number;
|
|
30
|
+
/** Increase current-frame weight for subpixel camera motion. */
|
|
31
|
+
useSubpixelCorrection: boolean;
|
|
32
|
+
private readonly _source;
|
|
33
|
+
private readonly _history;
|
|
34
|
+
private readonly _clearColor;
|
|
35
|
+
private readonly _state;
|
|
36
|
+
private readonly _uniforms;
|
|
37
|
+
private readonly _resolveMaterial;
|
|
38
|
+
private readonly _copyMaterial;
|
|
39
|
+
private readonly _quad;
|
|
40
|
+
/** @param msaa Enable 4× MSAA (default false). Fixed for the pass's lifetime. */
|
|
41
|
+
constructor(
|
|
42
|
+
scene: Scene,
|
|
43
|
+
camera: PerspectiveCamera | OrthographicCamera,
|
|
44
|
+
msaa?: boolean,
|
|
45
|
+
);
|
|
46
|
+
/** Current scene depth, before temporal accumulation. Owned by this pass. */
|
|
47
|
+
get depthTexture(): DepthTexture;
|
|
48
|
+
/** Jittered projection used to capture depthTexture. Treat as read-only. */
|
|
49
|
+
get projectionMatrix(): Matrix4;
|
|
50
|
+
/** Resize all internal targets in physical pixels; a size change clears history. */
|
|
51
|
+
setSize(width: number, height: number): void;
|
|
52
|
+
/** Discard history after a camera cut, scene replacement, or color-space change. */
|
|
53
|
+
reset(): void;
|
|
54
|
+
/** Render the scene and resolve TAA into the composer's working-space buffer. */
|
|
55
|
+
render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget): void;
|
|
56
|
+
dispose(): void;
|
|
42
57
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
DepthTexture,
|
|
3
|
+
Matrix4,
|
|
4
|
+
OrthographicCamera,
|
|
5
|
+
PerspectiveCamera,
|
|
6
|
+
Scene,
|
|
7
|
+
WebGLRenderTarget,
|
|
8
|
+
WebGLRenderer,
|
|
9
|
+
} from "three";
|
|
10
|
+
import { Pass } from "three/addons/postprocessing/Pass.js";
|
|
3
11
|
/**
|
|
4
12
|
* Temporal reprojection for WebGLRenderer, using depth and camera motion.
|
|
5
13
|
* Object motion is not tracked; no velocity texture is required.
|
|
@@ -9,34 +17,41 @@ import { Pass } from 'three/addons/postprocessing/Pass.js';
|
|
|
9
17
|
* output.
|
|
10
18
|
*/
|
|
11
19
|
export declare class TAAPass extends Pass {
|
|
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
|
-
|
|
20
|
+
scene: Scene;
|
|
21
|
+
camera: PerspectiveCamera | OrthographicCamera;
|
|
22
|
+
readonly msaa: boolean;
|
|
23
|
+
private readonly _coverage;
|
|
24
|
+
/** Depth difference above which non-edge history is rejected. */
|
|
25
|
+
depthThreshold: number;
|
|
26
|
+
/** Depth range within the 3x3 neighborhood that identifies an edge. */
|
|
27
|
+
edgeDepthDiff: number;
|
|
28
|
+
/** Camera motion in pixels at which history loses all weight. */
|
|
29
|
+
maxMotionLength: number;
|
|
30
|
+
/** Increase current-frame weight for subpixel camera motion. */
|
|
31
|
+
useSubpixelCorrection: boolean;
|
|
32
|
+
private readonly _source;
|
|
33
|
+
private readonly _history;
|
|
34
|
+
private readonly _clearColor;
|
|
35
|
+
private readonly _state;
|
|
36
|
+
private readonly _uniforms;
|
|
37
|
+
private readonly _resolveMaterial;
|
|
38
|
+
private readonly _copyMaterial;
|
|
39
|
+
private readonly _quad;
|
|
40
|
+
/** @param msaa Enable 4× MSAA (default false). Fixed for the pass's lifetime. */
|
|
41
|
+
constructor(
|
|
42
|
+
scene: Scene,
|
|
43
|
+
camera: PerspectiveCamera | OrthographicCamera,
|
|
44
|
+
msaa?: boolean,
|
|
45
|
+
);
|
|
46
|
+
/** Current scene depth, before temporal accumulation. Owned by this pass. */
|
|
47
|
+
get depthTexture(): DepthTexture;
|
|
48
|
+
/** Jittered projection used to capture depthTexture. Treat as read-only. */
|
|
49
|
+
get projectionMatrix(): Matrix4;
|
|
50
|
+
/** Resize all internal targets in physical pixels; a size change clears history. */
|
|
51
|
+
setSize(width: number, height: number): void;
|
|
52
|
+
/** Discard history after a camera cut, scene replacement, or color-space change. */
|
|
53
|
+
reset(): void;
|
|
54
|
+
/** Render the scene and resolve TAA into the composer's working-space buffer. */
|
|
55
|
+
render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget): void;
|
|
56
|
+
dispose(): void;
|
|
42
57
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Texture, WebGLRenderer } from "three";
|
|
2
|
+
import type { WebGPURenderer } from "three/webgpu";
|
|
3
|
+
import { NeuralDenoisePasses } from "./neuralDenoisePasses.cjs";
|
|
4
|
+
import type { NeuralDenoiseModel } from "./neuralDenoiseWeights.cjs";
|
|
5
|
+
/** Executes the shared denoiser on either Three.js WebGL2 renderer. */
|
|
6
|
+
export declare class WebGLDenoisePasses extends NeuralDenoisePasses {
|
|
7
|
+
constructor(
|
|
8
|
+
renderer: WebGLRenderer | WebGPURenderer,
|
|
9
|
+
model: NeuralDenoiseModel,
|
|
10
|
+
);
|
|
11
|
+
result: Texture;
|
|
12
|
+
render(
|
|
13
|
+
width: number,
|
|
14
|
+
height: number,
|
|
15
|
+
external: {
|
|
16
|
+
color: Texture;
|
|
17
|
+
depth: Texture;
|
|
18
|
+
exposed: Texture | null;
|
|
19
|
+
history: null;
|
|
20
|
+
encode: boolean;
|
|
21
|
+
},
|
|
22
|
+
previous: number,
|
|
23
|
+
): void;
|
|
24
|
+
dispose(): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Texture, WebGLRenderer } from "three";
|
|
2
|
+
import type { WebGPURenderer } from "three/webgpu";
|
|
3
|
+
import { NeuralDenoisePasses } from "./neuralDenoisePasses.js";
|
|
4
|
+
import type { NeuralDenoiseModel } from "./neuralDenoiseWeights.js";
|
|
5
|
+
/** Executes the shared denoiser on either Three.js WebGL2 renderer. */
|
|
6
|
+
export declare class WebGLDenoisePasses extends NeuralDenoisePasses {
|
|
7
|
+
constructor(
|
|
8
|
+
renderer: WebGLRenderer | WebGPURenderer,
|
|
9
|
+
model: NeuralDenoiseModel,
|
|
10
|
+
);
|
|
11
|
+
result: Texture;
|
|
12
|
+
render(
|
|
13
|
+
width: number,
|
|
14
|
+
height: number,
|
|
15
|
+
external: {
|
|
16
|
+
color: Texture;
|
|
17
|
+
depth: Texture;
|
|
18
|
+
exposed: Texture | null;
|
|
19
|
+
history: null;
|
|
20
|
+
encode: boolean;
|
|
21
|
+
},
|
|
22
|
+
previous: number,
|
|
23
|
+
): void;
|
|
24
|
+
dispose(): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { NeuralDenoiseModel } from "./neuralDenoiseWeights.cjs";
|
|
2
|
+
/** Shared pass order and state layout for the two graphics APIs. */
|
|
3
|
+
export declare class NeuralDenoisePasses {
|
|
4
|
+
uniforms: Float32Array;
|
|
5
|
+
halfBias: number;
|
|
6
|
+
protected initialize(
|
|
7
|
+
model: NeuralDenoiseModel,
|
|
8
|
+
multisampled: boolean,
|
|
9
|
+
): string;
|
|
10
|
+
}
|
|
11
|
+
export declare class WebGPUDenoisePasses extends NeuralDenoisePasses {
|
|
12
|
+
constructor(device: object, model: NeuralDenoiseModel, multisampled: boolean);
|
|
13
|
+
render(
|
|
14
|
+
width: number,
|
|
15
|
+
height: number,
|
|
16
|
+
external: {
|
|
17
|
+
color: object;
|
|
18
|
+
depth: object;
|
|
19
|
+
exposed: object | null;
|
|
20
|
+
history: object[];
|
|
21
|
+
encode: boolean;
|
|
22
|
+
},
|
|
23
|
+
previous: number,
|
|
24
|
+
): void;
|
|
25
|
+
dispose(): void;
|
|
26
|
+
}
|