@kingsy/viewer 2.25.7
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/dist/IViewer.d.ts +157 -0
- package/dist/helpers/flatten.d.ts +11 -0
- package/dist/helpers/typeHelper.d.ts +2 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.js +42 -0
- package/dist/modules/Assets.d.ts +15 -0
- package/dist/modules/EventEmitter.d.ts +7 -0
- package/dist/modules/Helpers.d.ts +3 -0
- package/dist/modules/Intersections.d.ts +20 -0
- package/dist/modules/KingSyRenderer.d.ts +168 -0
- package/dist/modules/LegacyViewer.d.ts +77 -0
- package/dist/modules/Shadowcatcher.d.ts +25 -0
- package/dist/modules/ShadowcatcherConfig.d.ts +14 -0
- package/dist/modules/UrlHelper.d.ts +1 -0
- package/dist/modules/Utils.d.ts +10 -0
- package/dist/modules/Viewer.d.ts +74 -0
- package/dist/modules/WebXrViewer.d.ts +10 -0
- package/dist/modules/World.d.ts +31 -0
- package/dist/modules/batching/Batch.d.ts +62 -0
- package/dist/modules/batching/BatchObject.d.ts +53 -0
- package/dist/modules/batching/Batcher.d.ts +60 -0
- package/dist/modules/batching/DrawRanges.d.ts +6 -0
- package/dist/modules/batching/InstancedBatchObject.d.ts +8 -0
- package/dist/modules/batching/InstancedMeshBatch.d.ts +60 -0
- package/dist/modules/batching/LineBatch.d.ts +52 -0
- package/dist/modules/batching/MeshBatch.d.ts +35 -0
- package/dist/modules/batching/PointBatch.d.ts +29 -0
- package/dist/modules/batching/PrimitiveBatch.d.ts +57 -0
- package/dist/modules/batching/TextBatch.d.ts +41 -0
- package/dist/modules/converter/Geometry.d.ts +38 -0
- package/dist/modules/converter/MeshTriangulationHelper.d.ts +50 -0
- package/dist/modules/converter/Units.d.ts +12 -0
- package/dist/modules/extensions/CameraController.d.ts +95 -0
- package/dist/modules/extensions/Controls.d.ts +91 -0
- package/dist/modules/extensions/DiffExtension.d.ts +50 -0
- package/dist/modules/extensions/ExplodeExtension.d.ts +17 -0
- package/dist/modules/extensions/Extension.d.ts +15 -0
- package/dist/modules/extensions/FilteringExtension.d.ts +55 -0
- package/dist/modules/extensions/HybridCameraController.d.ts +14 -0
- package/dist/modules/extensions/SelectionExtension.d.ts +53 -0
- package/dist/modules/extensions/TransformControls.d.ts +157 -0
- package/dist/modules/extensions/ViewModes.d.ts +32 -0
- package/dist/modules/extensions/controls/FlyControls.d.ts +82 -0
- package/dist/modules/extensions/controls/KingSyControls.d.ts +25 -0
- package/dist/modules/extensions/controls/SmoothOrbitControls.d.ts +222 -0
- package/dist/modules/extensions/measurements/AreaMeasurement.d.ts +64 -0
- package/dist/modules/extensions/measurements/Measurement.d.ts +34 -0
- package/dist/modules/extensions/measurements/MeasurementPointGizmo.d.ts +42 -0
- package/dist/modules/extensions/measurements/MeasurementsExtension.d.ts +71 -0
- package/dist/modules/extensions/measurements/PerpendicularMeasurement.d.ts +19 -0
- package/dist/modules/extensions/measurements/PointMeasurement.d.ts +25 -0
- package/dist/modules/extensions/measurements/PointToPointMeasurement.d.ts +15 -0
- package/dist/modules/extensions/sections/SectionOutlines.d.ts +45 -0
- package/dist/modules/extensions/sections/SectionTool.d.ts +219 -0
- package/dist/modules/filtering/PropertyManager.d.ts +55 -0
- package/dist/modules/input/Input.d.ts +47 -0
- package/dist/modules/loaders/GeometryConverter.d.ts +32 -0
- package/dist/modules/loaders/KingSy/KingSyConverter.d.ts +118 -0
- package/dist/modules/loaders/KingSy/KingSyGeometryConverter.d.ts +127 -0
- package/dist/modules/loaders/KingSy/KingSyLoader.d.ts +18 -0
- package/dist/modules/loaders/KingSy/KingSyOfflineLoader.d.ts +8 -0
- package/dist/modules/loaders/Loader.d.ts +35 -0
- package/dist/modules/loaders/OBJ/ObjConverter.d.ts +18 -0
- package/dist/modules/loaders/OBJ/ObjGeometryConverter.d.ts +14 -0
- package/dist/modules/loaders/OBJ/ObjLoader.d.ts +16 -0
- package/dist/modules/materials/KingSyBasicMaterial.d.ts +26 -0
- package/dist/modules/materials/KingSyDepthMaterial.d.ts +22 -0
- package/dist/modules/materials/KingSyDepthNormalIdMaterial.d.ts +11 -0
- package/dist/modules/materials/KingSyDepthNormalMaterial.d.ts +6 -0
- package/dist/modules/materials/KingSyDisplaceMaterial.d.ts +11 -0
- package/dist/modules/materials/KingSyGhostMaterial.d.ts +8 -0
- package/dist/modules/materials/KingSyLineMaterial.d.ts +20 -0
- package/dist/modules/materials/KingSyMatcapMaterial.d.ts +19 -0
- package/dist/modules/materials/KingSyMaterial.d.ts +65 -0
- package/dist/modules/materials/KingSyNormalMaterial.d.ts +18 -0
- package/dist/modules/materials/KingSyPointColouredMaterial.d.ts +12 -0
- package/dist/modules/materials/KingSyPointMaterial.d.ts +18 -0
- package/dist/modules/materials/KingSyShadowcatcherMaterial.d.ts +10 -0
- package/dist/modules/materials/KingSyStandardColoredMaterial.d.ts +11 -0
- package/dist/modules/materials/KingSyStandardMaterial.d.ts +22 -0
- package/dist/modules/materials/KingSyTextMaterial.d.ts +26 -0
- package/dist/modules/materials/KingSyViewportMaterial.d.ts +13 -0
- package/dist/modules/materials/MaterialOptions.d.ts +6 -0
- package/dist/modules/materials/Materials.d.ts +111 -0
- package/dist/modules/materials/shaders/kingsy-apply-ao-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-apply-ao-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-basic-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-basic-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-copy-output-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-copy-output-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-depth-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-depth-normal-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-depth-normal-id-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-depth-normal-id-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-depth-normal-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-depth-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-displace-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-displace.vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-edges-generator-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-edges-generator-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-ghost-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-ghost-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-line-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-line-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-normal-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-normal-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-point-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-point-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-sao-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-sao-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-shadowcatche-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-shadowcatcher-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-standard-colored-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-standard-colored-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-standard-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-standard-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-static-ao-accumulate-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-static-ao-accumulate-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-static-ao-generate-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-static-ao-generate-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-temporal-supersampling-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-temporal-supersampling-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-text-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-text-vert.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-viewport-frag.d.ts +1 -0
- package/dist/modules/materials/shaders/kingsy-viewport-vert.d.ts +1 -0
- package/dist/modules/objects/AccelerationStructure.d.ts +72 -0
- package/dist/modules/objects/ExtendedInstancedMesh.d.ts +6 -0
- package/dist/modules/objects/JitterQuad.d.ts +10 -0
- package/dist/modules/objects/KingSyCamera.d.ts +31 -0
- package/dist/modules/objects/KingSyInstancedMesh.d.ts +44 -0
- package/dist/modules/objects/KingSyMesh.d.ts +43 -0
- package/dist/modules/objects/KingSyRaycaster.d.ts +42 -0
- package/dist/modules/objects/KingSyText.d.ts +39 -0
- package/dist/modules/objects/KingSyWebGLRenderer.d.ts +24 -0
- package/dist/modules/objects/RotatablePMREMGenerator.d.ts +5 -0
- package/dist/modules/objects/TopLevelAccelerationStructure.d.ts +41 -0
- package/dist/modules/pipeline/Passes/BlendPass.d.ts +17 -0
- package/dist/modules/pipeline/Passes/DepthNormalIdPass.d.ts +12 -0
- package/dist/modules/pipeline/Passes/DepthNormalPass.d.ts +25 -0
- package/dist/modules/pipeline/Passes/DepthPass.d.ts +23 -0
- package/dist/modules/pipeline/Passes/EdgesPass.d.ts +25 -0
- package/dist/modules/pipeline/Passes/GPass.d.ts +88 -0
- package/dist/modules/pipeline/Passes/GeometryPass.d.ts +7 -0
- package/dist/modules/pipeline/Passes/NormalsPass.d.ts +8 -0
- package/dist/modules/pipeline/Passes/OutputPass.d.ts +23 -0
- package/dist/modules/pipeline/Passes/ProgressiveAOPass.d.ts +30 -0
- package/dist/modules/pipeline/Passes/ShadedPass.d.ts +26 -0
- package/dist/modules/pipeline/Passes/ShadowcatcherPass.d.ts +43 -0
- package/dist/modules/pipeline/Passes/StencilMaskPass.d.ts +9 -0
- package/dist/modules/pipeline/Passes/StencilPass.d.ts +9 -0
- package/dist/modules/pipeline/Passes/TAAPass.d.ts +15 -0
- package/dist/modules/pipeline/Passes/ViewportPass.d.ts +22 -0
- package/dist/modules/pipeline/Pipelines/ArcticViewPipeline.d.ts +7 -0
- package/dist/modules/pipeline/Pipelines/DefaultPipeline.d.ts +6 -0
- package/dist/modules/pipeline/Pipelines/EdgesPipeline.d.ts +28 -0
- package/dist/modules/pipeline/Pipelines/PenViewPipeline.d.ts +6 -0
- package/dist/modules/pipeline/Pipelines/Pipeline.d.ts +43 -0
- package/dist/modules/pipeline/Pipelines/ProgressivePipeline.d.ts +24 -0
- package/dist/modules/pipeline/Pipelines/ShadedViewPipeline.d.ts +7 -0
- package/dist/modules/pipeline/Pipelines/SolidViewPipeline.d.ts +6 -0
- package/dist/modules/pipeline/Pipelines/TAAPipeline.d.ts +7 -0
- package/dist/modules/queries/IntersectionQuerySolver.d.ts +11 -0
- package/dist/modules/queries/PointQuerySolver.d.ts +9 -0
- package/dist/modules/queries/Queries.d.ts +9 -0
- package/dist/modules/queries/Query.d.ts +51 -0
- package/dist/modules/three/stats.d.ts +4 -0
- package/dist/modules/tree/NodeMap.d.ts +20 -0
- package/dist/modules/tree/NodeRenderView.d.ts +51 -0
- package/dist/modules/tree/RenderTree.d.ts +36 -0
- package/dist/modules/tree/WorldTree.d.ts +52 -0
- package/dist/modules/utils/AngleDamper.d.ts +18 -0
- package/dist/modules/utils/Damper.d.ts +17 -0
- package/dist/modules/utils/Logger.d.ts +2 -0
- package/dist/type-augmentations/three-extensions.d.ts +1 -0
- package/package.json +99 -0
- package/readme.md +30 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Camera, Material, OrthographicCamera, PerspectiveCamera, Plane, Scene, WebGLRenderer, WebGLRenderTarget } from 'three';
|
|
2
|
+
import { ObjectLayers } from '../../../IViewer.js';
|
|
3
|
+
export declare enum ObjectVisibility {
|
|
4
|
+
OPAQUE = "opaque",
|
|
5
|
+
TRANSPARENT = "transparent",
|
|
6
|
+
DEPTH = "depth",
|
|
7
|
+
STENCIL = "stencil"
|
|
8
|
+
}
|
|
9
|
+
export declare enum ClearFlags {
|
|
10
|
+
COLOR = 256,
|
|
11
|
+
DEPTH = 1024,
|
|
12
|
+
STENCIL = 16384
|
|
13
|
+
}
|
|
14
|
+
export interface PassOptions {
|
|
15
|
+
}
|
|
16
|
+
export interface GPass {
|
|
17
|
+
get displayName(): string;
|
|
18
|
+
set outputTarget(value: WebGLRenderTarget);
|
|
19
|
+
get outputTarget(): WebGLRenderTarget | null;
|
|
20
|
+
get enabled(): boolean;
|
|
21
|
+
set enabled(value: boolean);
|
|
22
|
+
set options(value: PassOptions);
|
|
23
|
+
get visibility(): ObjectVisibility | null;
|
|
24
|
+
get overrideMaterial(): Material | null;
|
|
25
|
+
get overrideBatchMaterial(): Material | null;
|
|
26
|
+
get jitter(): boolean;
|
|
27
|
+
get clearColor(): number | undefined;
|
|
28
|
+
get clearAlpha(): number | undefined;
|
|
29
|
+
get clearFlags(): number | undefined;
|
|
30
|
+
setSize?(width: number, height: number): void;
|
|
31
|
+
onBeforeRender?: () => void;
|
|
32
|
+
onAferRender?: () => void;
|
|
33
|
+
update?(camera: PerspectiveCamera | OrthographicCamera | null): void;
|
|
34
|
+
render?(renderer: WebGLRenderer, camera?: PerspectiveCamera | OrthographicCamera | null, scene?: Scene): boolean;
|
|
35
|
+
setClearColor(color: number, alpha: number): void;
|
|
36
|
+
setClearFlags(flags: number): void;
|
|
37
|
+
setClippingPlanes?(planes: Plane[]): void;
|
|
38
|
+
setLayers?(layers: ObjectLayers[]): void;
|
|
39
|
+
setVisibility?(objectVisibility: ObjectVisibility): void;
|
|
40
|
+
setJitter(value: boolean): void;
|
|
41
|
+
}
|
|
42
|
+
export declare abstract class BaseGPass implements GPass {
|
|
43
|
+
protected _enabled: boolean;
|
|
44
|
+
protected layers: ObjectLayers[] | null;
|
|
45
|
+
protected _enabledLayers: ObjectLayers[];
|
|
46
|
+
protected _objectVisibility: ObjectVisibility | null;
|
|
47
|
+
protected _jitter: boolean;
|
|
48
|
+
protected _options: PassOptions;
|
|
49
|
+
protected _clearColor: number | undefined;
|
|
50
|
+
protected _clearAlpha: number | undefined;
|
|
51
|
+
protected _clearFlags: number | undefined;
|
|
52
|
+
protected _outputTarget: WebGLRenderTarget | null;
|
|
53
|
+
onBeforeRender: (() => void) | undefined;
|
|
54
|
+
onAfterRender: (() => void) | undefined;
|
|
55
|
+
get enabledLayers(): ObjectLayers[];
|
|
56
|
+
get displayName(): string;
|
|
57
|
+
get outputTarget(): WebGLRenderTarget | null;
|
|
58
|
+
set outputTarget(value: WebGLRenderTarget | null);
|
|
59
|
+
get enabled(): boolean;
|
|
60
|
+
set enabled(value: boolean);
|
|
61
|
+
set options(value: PassOptions);
|
|
62
|
+
get visibility(): ObjectVisibility | null;
|
|
63
|
+
get overrideMaterial(): Material | null;
|
|
64
|
+
get overrideBatchMaterial(): Material | null;
|
|
65
|
+
get jitter(): boolean;
|
|
66
|
+
get clearColor(): number | undefined;
|
|
67
|
+
get clearAlpha(): number | undefined;
|
|
68
|
+
get clearFlags(): number | undefined;
|
|
69
|
+
setClearColor(color: number, alpha: number): void;
|
|
70
|
+
setClearFlags(flags: number): void;
|
|
71
|
+
setLayers(layers: ObjectLayers[]): void;
|
|
72
|
+
enableLayer(layer: ObjectLayers, value: boolean): void;
|
|
73
|
+
setVisibility(objectVisibility: ObjectVisibility | null): void;
|
|
74
|
+
setJitter(value: boolean): void;
|
|
75
|
+
protected applyLayers(camera: Camera | null): void;
|
|
76
|
+
protected clear(renderer: WebGLRenderer): void;
|
|
77
|
+
abstract render(renderer: WebGLRenderer, camera?: PerspectiveCamera | OrthographicCamera | null, scene?: Scene): boolean;
|
|
78
|
+
setSize(width: number, height: number): void;
|
|
79
|
+
}
|
|
80
|
+
export declare abstract class ProgressiveGPass extends BaseGPass {
|
|
81
|
+
protected _frameIndex: number;
|
|
82
|
+
protected _accumulationFrames: number;
|
|
83
|
+
get frameIndex(): number;
|
|
84
|
+
set frameIndex(value: number);
|
|
85
|
+
get accumulationFrames(): number;
|
|
86
|
+
set accumulationFrames(value: number);
|
|
87
|
+
render(renderer: WebGLRenderer, camera?: PerspectiveCamera | OrthographicCamera | null, scene?: Scene): boolean;
|
|
88
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OrthographicCamera, PerspectiveCamera, Plane, Scene, WebGLRenderer } from 'three';
|
|
2
|
+
import { BaseGPass } from './GPass.js';
|
|
3
|
+
export declare class GeometryPass extends BaseGPass {
|
|
4
|
+
get displayName(): string;
|
|
5
|
+
setClippingPlanes(planes: Plane[]): void;
|
|
6
|
+
render(renderer: WebGLRenderer, camera: PerspectiveCamera | OrthographicCamera | null, scene?: Scene): boolean;
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ShaderMaterial, Texture, WebGLRenderer } from 'three';
|
|
2
|
+
import { BaseGPass, PassOptions } from './GPass.js';
|
|
3
|
+
export declare enum InputType {
|
|
4
|
+
Color = 0,
|
|
5
|
+
PackedDepth = 1,
|
|
6
|
+
Normals = 2,
|
|
7
|
+
Passthrough = 3
|
|
8
|
+
}
|
|
9
|
+
export interface OutputPassOptions extends PassOptions {
|
|
10
|
+
inputType?: InputType;
|
|
11
|
+
}
|
|
12
|
+
export declare const DefaultOutputPassOptions: Required<OutputPassOptions>;
|
|
13
|
+
export declare class OutputPass extends BaseGPass {
|
|
14
|
+
private fsQuad;
|
|
15
|
+
materialCopy: ShaderMaterial;
|
|
16
|
+
_options: Required<OutputPassOptions>;
|
|
17
|
+
set options(value: OutputPassOptions);
|
|
18
|
+
constructor();
|
|
19
|
+
protected setInputType(type: InputType): void;
|
|
20
|
+
setTexture(uName: string, texture: Texture | undefined): void;
|
|
21
|
+
get displayName(): string;
|
|
22
|
+
render(renderer: WebGLRenderer): boolean;
|
|
23
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OrthographicCamera, PerspectiveCamera, Texture, WebGLRenderer } from 'three';
|
|
2
|
+
import { PassOptions, ProgressiveGPass } from './GPass.js';
|
|
3
|
+
/**
|
|
4
|
+
* SAO implementation inspired from bhouston previous SAO work
|
|
5
|
+
*/
|
|
6
|
+
export interface ProgressiveAOPassOptions extends PassOptions {
|
|
7
|
+
intensity?: number;
|
|
8
|
+
kernelRadius?: number;
|
|
9
|
+
kernelSize?: number;
|
|
10
|
+
bias?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const DefaultProgressiveAOPassOptions: Required<ProgressiveAOPassOptions>;
|
|
13
|
+
export declare class ProgressiveAOPass extends ProgressiveGPass {
|
|
14
|
+
private generationMaterial;
|
|
15
|
+
private accumulateMaterial;
|
|
16
|
+
private _generationBuffer;
|
|
17
|
+
_options: Required<ProgressiveAOPassOptions>;
|
|
18
|
+
private fsQuad;
|
|
19
|
+
private kernels;
|
|
20
|
+
private noiseTextures;
|
|
21
|
+
setTexture(uName: string, texture: Texture | undefined): void;
|
|
22
|
+
get displayName(): string;
|
|
23
|
+
set options(value: ProgressiveAOPassOptions);
|
|
24
|
+
constructor();
|
|
25
|
+
update(camera: PerspectiveCamera | OrthographicCamera): void;
|
|
26
|
+
render(renderer: WebGLRenderer): boolean;
|
|
27
|
+
setSize(width: number, height: number): void;
|
|
28
|
+
protected generateSampleKernel(frameIndex: number): void;
|
|
29
|
+
protected generateRandomKernelRotations(frameIndex: number): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { OrthographicCamera, PerspectiveCamera, Plane, Scene, WebGLRenderer } from 'three';
|
|
2
|
+
import { BaseGPass } from './GPass.js';
|
|
3
|
+
import { WorldTree } from '../../tree/WorldTree.js';
|
|
4
|
+
import KingSyRenderer from '../../KingSyRenderer.js';
|
|
5
|
+
import { MeshBatch } from '../../batching/MeshBatch.js';
|
|
6
|
+
import { NodeRenderView } from '../../tree/NodeRenderView.js';
|
|
7
|
+
import KingSyStandardColoredMaterial from '../../materials/KingSyStandardColoredMaterial.js';
|
|
8
|
+
export declare class ShadedPass extends BaseGPass {
|
|
9
|
+
protected tree: WorldTree;
|
|
10
|
+
protected kingsyRenderer: KingSyRenderer;
|
|
11
|
+
protected materialMap: {
|
|
12
|
+
[batchID: string]: [
|
|
13
|
+
batch: MeshBatch,
|
|
14
|
+
colorMap: Map<number, Array<NodeRenderView>>,
|
|
15
|
+
material: KingSyStandardColoredMaterial
|
|
16
|
+
];
|
|
17
|
+
};
|
|
18
|
+
constructor(tree: WorldTree, renderer: KingSyRenderer);
|
|
19
|
+
get displayName(): string;
|
|
20
|
+
setClippingPlanes(planes: Plane[]): void;
|
|
21
|
+
protected buildMaterials(): void;
|
|
22
|
+
applyColorIndices(): void;
|
|
23
|
+
protected overrideMaterials(): void;
|
|
24
|
+
protected restoreMaterials(): void;
|
|
25
|
+
render(renderer: WebGLRenderer, camera: PerspectiveCamera | OrthographicCamera | null, scene?: Scene): boolean;
|
|
26
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Box3, Plane, Scene, Texture, WebGLRenderer } from 'three';
|
|
2
|
+
import KingSyDepthMaterial from '../../materials/KingSyDepthMaterial.js';
|
|
3
|
+
import { type ShadowcatcherConfig } from '../../ShadowcatcherConfig.js';
|
|
4
|
+
import { BaseGPass } from './GPass.js';
|
|
5
|
+
export declare class ShadowcatcherPass extends BaseGPass {
|
|
6
|
+
private readonly levels;
|
|
7
|
+
private readonly debugCamera;
|
|
8
|
+
private renderTargets;
|
|
9
|
+
private tempTargets;
|
|
10
|
+
private camera;
|
|
11
|
+
private scene;
|
|
12
|
+
private _needsUpdate;
|
|
13
|
+
private fsQuad;
|
|
14
|
+
private blendMaterial;
|
|
15
|
+
private depthMaterial;
|
|
16
|
+
private vBlurMaterial;
|
|
17
|
+
private hBlurMaterial;
|
|
18
|
+
private blurStdDev;
|
|
19
|
+
private blurRadius;
|
|
20
|
+
private prevBlurStdDev;
|
|
21
|
+
private prevBlurRadius;
|
|
22
|
+
private cameraHelper;
|
|
23
|
+
onBeforeRender: (() => void) | undefined;
|
|
24
|
+
onAfterRender: (() => void) | undefined;
|
|
25
|
+
get displayName(): string;
|
|
26
|
+
get outputTexture(): Texture | null;
|
|
27
|
+
set needsUpdate(value: boolean);
|
|
28
|
+
get drawDepthMaterial(): KingSyDepthMaterial;
|
|
29
|
+
constructor();
|
|
30
|
+
update(scene: Scene): void;
|
|
31
|
+
render(_renderer: WebGLRenderer): boolean;
|
|
32
|
+
updateClippingPlanes(planes: Plane[]): void;
|
|
33
|
+
setOutputSize(width: number, height: number): void;
|
|
34
|
+
setWeights(weights: {
|
|
35
|
+
x: number;
|
|
36
|
+
y: number;
|
|
37
|
+
z: number;
|
|
38
|
+
w: number;
|
|
39
|
+
}): void;
|
|
40
|
+
updateCamera(planeBox: Box3, near: number, far: number): void;
|
|
41
|
+
updateConfig(config: ShadowcatcherConfig): void;
|
|
42
|
+
setSize(width: number, height: number): void;
|
|
43
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Material } from 'three';
|
|
2
|
+
import { GeometryPass } from './GeometryPass.js';
|
|
3
|
+
export declare class StencilMaskPass extends GeometryPass {
|
|
4
|
+
private stencilMaskMaterial;
|
|
5
|
+
constructor();
|
|
6
|
+
get displayName(): string;
|
|
7
|
+
get overrideMaterial(): Material;
|
|
8
|
+
setSize(width: number, height: number): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Material } from 'three';
|
|
2
|
+
import { GeometryPass } from './GeometryPass.js';
|
|
3
|
+
export declare class StencilPass extends GeometryPass {
|
|
4
|
+
private stencilMaterial;
|
|
5
|
+
constructor();
|
|
6
|
+
get displayName(): string;
|
|
7
|
+
get overrideMaterial(): Material;
|
|
8
|
+
setSize(width: number, height: number): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Texture, WebGLRenderer } from 'three';
|
|
2
|
+
import { ProgressiveGPass } from './GPass.js';
|
|
3
|
+
export declare class TAAPass extends ProgressiveGPass {
|
|
4
|
+
private inputTex;
|
|
5
|
+
private historyTarget;
|
|
6
|
+
private fsQuad;
|
|
7
|
+
outputToScreen: boolean;
|
|
8
|
+
private materialCopy;
|
|
9
|
+
private reprojectionMaterial;
|
|
10
|
+
constructor();
|
|
11
|
+
get displayName(): string;
|
|
12
|
+
set inputTexture(texture: Texture | undefined);
|
|
13
|
+
render(renderer: WebGLRenderer): boolean;
|
|
14
|
+
setSize(width: number, height: number): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Material, OrthographicCamera, PerspectiveCamera, Scene, WebGLRenderer } from 'three';
|
|
2
|
+
import { PassOptions } from './GPass.js';
|
|
3
|
+
import KingSyViewportMaterial from '../../materials/KingSyViewportMaterial.js';
|
|
4
|
+
import { Asset } from '../../../IViewer.js';
|
|
5
|
+
import { GeometryPass } from './GeometryPass.js';
|
|
6
|
+
export interface ViewportPassOptions extends PassOptions {
|
|
7
|
+
minIntensity?: number;
|
|
8
|
+
matcapTexture?: Asset | null;
|
|
9
|
+
opacity?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const DefaultViewportPassOptions: Required<ViewportPassOptions>;
|
|
12
|
+
export declare class ViewportPass extends GeometryPass {
|
|
13
|
+
protected viewportMaterial: KingSyViewportMaterial;
|
|
14
|
+
protected pendingTexture: boolean;
|
|
15
|
+
_options: Required<ViewportPassOptions>;
|
|
16
|
+
get displayName(): string;
|
|
17
|
+
get overrideBatchMaterial(): Material;
|
|
18
|
+
set options(value: ViewportPassOptions);
|
|
19
|
+
constructor();
|
|
20
|
+
protected setMatcapTexture(asset: Asset | null): void;
|
|
21
|
+
render(renderer: WebGLRenderer, camera: PerspectiveCamera | OrthographicCamera | null, scene?: Scene): boolean;
|
|
22
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import KingSyRenderer from '../../KingSyRenderer.js';
|
|
2
|
+
import { ProgressivePipeline } from './ProgressivePipeline.js';
|
|
3
|
+
import { PipelineOptions } from './Pipeline.js';
|
|
4
|
+
export declare class ArcticViewPipeline extends ProgressivePipeline {
|
|
5
|
+
protected accumulationFrameCount: number;
|
|
6
|
+
constructor(kingsyRenderer: KingSyRenderer, options?: PipelineOptions);
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import KingSyRenderer from '../../KingSyRenderer.js';
|
|
2
|
+
import { ProgressivePipeline } from './ProgressivePipeline.js';
|
|
3
|
+
import { PipelineOptions } from './Pipeline.js';
|
|
4
|
+
export declare class DefaultPipeline extends ProgressivePipeline {
|
|
5
|
+
constructor(kingsyRenderer: KingSyRenderer, options?: PipelineOptions);
|
|
6
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import KingSyRenderer from '../../KingSyRenderer.js';
|
|
2
|
+
import { EdgesPass } from '../Passes/EdgesPass.js';
|
|
3
|
+
import { ProgressivePipeline } from './ProgressivePipeline.js';
|
|
4
|
+
import { DepthNormalIdPass } from '../Passes/DepthNormalIdPass.js';
|
|
5
|
+
import { Texture } from 'three';
|
|
6
|
+
import { DepthPass } from '../Passes/DepthPass.js';
|
|
7
|
+
import { BasePipelineOptions } from './Pipeline.js';
|
|
8
|
+
export interface EdgesPipelineOptions extends BasePipelineOptions {
|
|
9
|
+
outlineThickness?: number;
|
|
10
|
+
outlineColor?: number;
|
|
11
|
+
outlineOpacity?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const DefaultEdgesPipelineOptions: {
|
|
14
|
+
outlineThickness: number;
|
|
15
|
+
outlineOpacity: number;
|
|
16
|
+
outlineColor: number;
|
|
17
|
+
};
|
|
18
|
+
export declare class EdgesPipeline extends ProgressivePipeline {
|
|
19
|
+
depthPass: DepthNormalIdPass | DepthPass;
|
|
20
|
+
depthPassDynamic: DepthNormalIdPass | DepthPass;
|
|
21
|
+
edgePass: EdgesPass;
|
|
22
|
+
edgePassDynamic: EdgesPass;
|
|
23
|
+
outputTexture?: Texture;
|
|
24
|
+
outputTextureDynamic?: Texture;
|
|
25
|
+
constructor(kingsyRenderer: KingSyRenderer, options?: EdgesPipelineOptions);
|
|
26
|
+
protected MRTPipeline(options: EdgesPipelineOptions): void;
|
|
27
|
+
protected SRTPipeline(options: EdgesPipelineOptions): void;
|
|
28
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import KingSyRenderer from '../../KingSyRenderer.js';
|
|
2
|
+
import { ProgressivePipeline } from './ProgressivePipeline.js';
|
|
3
|
+
import { PipelineOptions } from './Pipeline.js';
|
|
4
|
+
export declare class PenViewPipeline extends ProgressivePipeline {
|
|
5
|
+
constructor(kingsyRenderer: KingSyRenderer, options?: PipelineOptions);
|
|
6
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Matrix4, OrthographicCamera, PerspectiveCamera, Plane, Vector2, WebGLMultipleRenderTargets, WebGLRenderTarget, WebGLRenderTargetOptions } from 'three';
|
|
2
|
+
import { GPass } from '../Passes/GPass.js';
|
|
3
|
+
import KingSyRenderer from '../../KingSyRenderer.js';
|
|
4
|
+
export interface BasePipelineOptions {
|
|
5
|
+
}
|
|
6
|
+
export interface PipelineOptions extends BasePipelineOptions {
|
|
7
|
+
edges?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const DefaultPipelineOptions: {
|
|
10
|
+
edges: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare abstract class Pipeline {
|
|
13
|
+
protected kingsyRenderer: KingSyRenderer;
|
|
14
|
+
protected _options: BasePipelineOptions;
|
|
15
|
+
protected passList: Array<GPass>;
|
|
16
|
+
protected drawingSize: Vector2;
|
|
17
|
+
protected frameProjection: Matrix4;
|
|
18
|
+
protected jitterIndex: number;
|
|
19
|
+
protected jitterOffsets: number[][];
|
|
20
|
+
get options(): BasePipelineOptions;
|
|
21
|
+
set options(value: BasePipelineOptions);
|
|
22
|
+
constructor(renderer: KingSyRenderer, options?: BasePipelineOptions);
|
|
23
|
+
get passes(): Array<GPass>;
|
|
24
|
+
onBeforePipelineRender(): void;
|
|
25
|
+
onAfterPipelineRender(): void;
|
|
26
|
+
getPass(name: string): GPass[];
|
|
27
|
+
setClippingPlanes(planes: Plane[]): void;
|
|
28
|
+
update(camera: PerspectiveCamera | OrthographicCamera): void;
|
|
29
|
+
reset(): void;
|
|
30
|
+
render(): boolean;
|
|
31
|
+
resize(width: number, height: number): void;
|
|
32
|
+
/**
|
|
33
|
+
* Generate a number in the Halton Sequence at a given index. This is
|
|
34
|
+
* shamelessly stolen from the pseudocode on the Wikipedia page
|
|
35
|
+
*
|
|
36
|
+
* @param base the base to use for the Halton Sequence
|
|
37
|
+
* @param index the index into the sequence
|
|
38
|
+
*/
|
|
39
|
+
protected haltonNumber(base: number, index: number): number;
|
|
40
|
+
protected generateHaltonJiters(length: number): number[][];
|
|
41
|
+
static createRenderTarget(options?: WebGLRenderTargetOptions, width?: number, height?: number): WebGLRenderTarget;
|
|
42
|
+
static createMultipleRenderTarget(count: number, options?: WebGLRenderTargetOptions, width?: number, height?: number): WebGLMultipleRenderTargets;
|
|
43
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { OrthographicCamera, PerspectiveCamera, Plane } from 'three';
|
|
2
|
+
import { GPass } from '../Passes/GPass.js';
|
|
3
|
+
import { Pipeline } from './Pipeline.js';
|
|
4
|
+
export declare abstract class ProgressivePipeline extends Pipeline {
|
|
5
|
+
protected accumulationFrameIndex: number;
|
|
6
|
+
protected accumulationFrameCount: number;
|
|
7
|
+
protected dynamicStage: Array<GPass>;
|
|
8
|
+
protected progressiveStage: Array<GPass>;
|
|
9
|
+
protected passthroughStage: Array<GPass>;
|
|
10
|
+
protected accumulating: boolean;
|
|
11
|
+
get passes(): Array<GPass>;
|
|
12
|
+
get dynamicPasses(): Array<GPass>;
|
|
13
|
+
get progressivePasses(): Array<GPass>;
|
|
14
|
+
get passthroughPasses(): Array<GPass>;
|
|
15
|
+
getPass(name: string): GPass[];
|
|
16
|
+
setClippingPlanes(planes: Plane[]): void;
|
|
17
|
+
update(camera: PerspectiveCamera | OrthographicCamera): void;
|
|
18
|
+
render(): boolean;
|
|
19
|
+
reset(): void;
|
|
20
|
+
resize(width: number, height: number): void;
|
|
21
|
+
onStationaryBegin(): void;
|
|
22
|
+
onStationaryEnd(): void;
|
|
23
|
+
onAccumulationComplete(): void;
|
|
24
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import KingSyRenderer from '../../KingSyRenderer.js';
|
|
2
|
+
import { ProgressivePipeline } from './ProgressivePipeline.js';
|
|
3
|
+
import { PipelineOptions } from './Pipeline.js';
|
|
4
|
+
import { WorldTree } from '../../tree/WorldTree.js';
|
|
5
|
+
export declare class ShadedViewPipeline extends ProgressivePipeline {
|
|
6
|
+
constructor(kingsyRenderer: KingSyRenderer, options: PipelineOptions | undefined, tree: WorldTree);
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import KingSyRenderer from '../../KingSyRenderer.js';
|
|
2
|
+
import { ProgressivePipeline } from './ProgressivePipeline.js';
|
|
3
|
+
import { PipelineOptions } from './Pipeline.js';
|
|
4
|
+
export declare class SolidViewPipeline extends ProgressivePipeline {
|
|
5
|
+
constructor(kingsyRenderer: KingSyRenderer, options?: PipelineOptions);
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import KingSyRenderer from '../../KingSyRenderer.js';
|
|
2
|
+
import { ProgressivePipeline } from './ProgressivePipeline.js';
|
|
3
|
+
import { PipelineOptions } from './Pipeline.js';
|
|
4
|
+
export declare class TAAPipeline extends ProgressivePipeline {
|
|
5
|
+
constructor(kingsyRenderer: KingSyRenderer, options?: PipelineOptions);
|
|
6
|
+
render(): boolean;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import KingSyRenderer from '../KingSyRenderer.js';
|
|
2
|
+
import type { IntersectionQuery, IntersectionQueryResult } from './Query.js';
|
|
3
|
+
export declare class IntersectionQuerySolver {
|
|
4
|
+
private vecBuff0;
|
|
5
|
+
private vecBuff1;
|
|
6
|
+
private renderer;
|
|
7
|
+
setContext(renderer: KingSyRenderer): void;
|
|
8
|
+
solve(query: IntersectionQuery): IntersectionQueryResult | null;
|
|
9
|
+
private solveOcclusion;
|
|
10
|
+
private solvePick;
|
|
11
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import KingSyRenderer from '../KingSyRenderer.js';
|
|
2
|
+
import type { PointQuery, PointQueryResult } from './Query.js';
|
|
3
|
+
export declare class PointQuerySolver {
|
|
4
|
+
private renderer;
|
|
5
|
+
setContext(renderer: KingSyRenderer): void;
|
|
6
|
+
solve(query: PointQuery): PointQueryResult | null;
|
|
7
|
+
private solveProjection;
|
|
8
|
+
private solveUnprojection;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IntersectionQuerySolver } from './IntersectionQuerySolver.js';
|
|
2
|
+
import { PointQuerySolver } from './PointQuerySolver.js';
|
|
3
|
+
import type { IntersectionQuery, PointQuery, Query } from './Query.js';
|
|
4
|
+
export declare class Queries {
|
|
5
|
+
static DefaultPointQuerySolver: PointQuerySolver;
|
|
6
|
+
static DefaultIntersectionQuerySolver: IntersectionQuerySolver;
|
|
7
|
+
static isPointQuery(query: Query): query is PointQuery;
|
|
8
|
+
static isIntersectionQuery(query: Query): query is IntersectionQuery;
|
|
9
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface Query {
|
|
2
|
+
id?: string;
|
|
3
|
+
operation: string;
|
|
4
|
+
}
|
|
5
|
+
export type QueryResult = PointQueryResult | IntersectionQueryResult;
|
|
6
|
+
export type QueryOperation = 'Project' | 'Unproject' | 'Occlusion' | 'Pick';
|
|
7
|
+
export interface PointQuery extends Query {
|
|
8
|
+
point: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
z?: number;
|
|
12
|
+
w?: number;
|
|
13
|
+
};
|
|
14
|
+
operation: 'Project' | 'Unproject';
|
|
15
|
+
}
|
|
16
|
+
export interface IntersectionQuery extends Query {
|
|
17
|
+
point: {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
z?: number;
|
|
21
|
+
w?: number;
|
|
22
|
+
};
|
|
23
|
+
tolerance?: number;
|
|
24
|
+
operation: 'Occlusion' | 'Pick';
|
|
25
|
+
}
|
|
26
|
+
export interface PointQueryResult {
|
|
27
|
+
x: number;
|
|
28
|
+
y: number;
|
|
29
|
+
z?: number;
|
|
30
|
+
w?: number;
|
|
31
|
+
inFrustum?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface IntersectionQueryResult {
|
|
34
|
+
objects: Array<{
|
|
35
|
+
guid: string;
|
|
36
|
+
object?: Record<string, unknown>;
|
|
37
|
+
point: {
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
z: number;
|
|
41
|
+
};
|
|
42
|
+
}> | null;
|
|
43
|
+
}
|
|
44
|
+
export type QueryArgsResultMap = {
|
|
45
|
+
Project: PointQueryResult;
|
|
46
|
+
Unproject: PointQueryResult;
|
|
47
|
+
Occlusion: IntersectionQueryResult;
|
|
48
|
+
Pick: IntersectionQueryResult;
|
|
49
|
+
} & {
|
|
50
|
+
[key: string]: unknown;
|
|
51
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type TreeNode } from './WorldTree.js';
|
|
2
|
+
export declare class NodeMap {
|
|
3
|
+
static readonly COMPOUND_ID_CHAR = "~";
|
|
4
|
+
private all;
|
|
5
|
+
instances: {
|
|
6
|
+
[id: string]: {
|
|
7
|
+
[id: string]: TreeNode;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
get nodeCount(): number;
|
|
11
|
+
constructor(subtreeRoot: TreeNode);
|
|
12
|
+
addNode(node: TreeNode): boolean;
|
|
13
|
+
removeNode(node: TreeNode): boolean;
|
|
14
|
+
getNodeById(id: string): TreeNode[] | null;
|
|
15
|
+
getSubtreeById(id: string): TreeNode;
|
|
16
|
+
hasId(id: string): boolean;
|
|
17
|
+
private registerInstance;
|
|
18
|
+
private registerNode;
|
|
19
|
+
purge(): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Box3 } from 'three';
|
|
2
|
+
import { GeometryType } from '../batching/Batch.js';
|
|
3
|
+
import { GeometryAttributes, type GeometryData } from '../converter/Geometry.js';
|
|
4
|
+
import { MinimalMaterial, type DisplayStyle, type RenderMaterial } from '../materials/Materials.js';
|
|
5
|
+
import { KingSyType } from '../loaders/GeometryConverter.js';
|
|
6
|
+
export interface NodeRenderData {
|
|
7
|
+
id: string;
|
|
8
|
+
subtreeId: number;
|
|
9
|
+
kingsyType: KingSyType;
|
|
10
|
+
geometry: GeometryData;
|
|
11
|
+
renderMaterial: RenderMaterial | null;
|
|
12
|
+
displayStyle: DisplayStyle | null;
|
|
13
|
+
colorMaterial: MinimalMaterial | null;
|
|
14
|
+
}
|
|
15
|
+
export declare class NodeRenderView {
|
|
16
|
+
private _batchId;
|
|
17
|
+
private _batchIndexStart;
|
|
18
|
+
private _batchIndexCount;
|
|
19
|
+
private _batchVertexStart;
|
|
20
|
+
private _batchVertexEnd;
|
|
21
|
+
private readonly _renderData;
|
|
22
|
+
private _materialHash;
|
|
23
|
+
private _geometryType;
|
|
24
|
+
private _guid;
|
|
25
|
+
private _aabb;
|
|
26
|
+
/** TO DO: Not sure if we should store it */
|
|
27
|
+
get guid(): string;
|
|
28
|
+
get renderData(): NodeRenderData;
|
|
29
|
+
get renderMaterialHash(): number;
|
|
30
|
+
get hasGeometry(): ({
|
|
31
|
+
POSITION: number[];
|
|
32
|
+
} & Partial<Record<GeometryAttributes.COLOR | GeometryAttributes.NORMAL | GeometryAttributes.UV | GeometryAttributes.TANGENT | GeometryAttributes.INDEX, number[]>>) | null;
|
|
33
|
+
get hasMetadata(): import("../../IViewer.js").KingSyObject | undefined;
|
|
34
|
+
get kingsyType(): KingSyType;
|
|
35
|
+
get geometryType(): GeometryType;
|
|
36
|
+
get batchStart(): number;
|
|
37
|
+
get batchEnd(): number;
|
|
38
|
+
get batchCount(): number;
|
|
39
|
+
get batchId(): string;
|
|
40
|
+
get aabb(): Box3;
|
|
41
|
+
get transparent(): boolean;
|
|
42
|
+
get vertStart(): number;
|
|
43
|
+
get vertEnd(): number;
|
|
44
|
+
get needsSegmentConversion(): boolean;
|
|
45
|
+
get validGeometry(): boolean;
|
|
46
|
+
constructor(data: NodeRenderData);
|
|
47
|
+
setBatchData(id: string, start: number, count: number, vertStart?: number, vertEnd?: number): void;
|
|
48
|
+
computeAABB(): void;
|
|
49
|
+
private getGeometryType;
|
|
50
|
+
disposeGeometry(): void;
|
|
51
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Matrix4 } from 'three';
|
|
2
|
+
import { type TreeNode, WorldTree } from './WorldTree.js';
|
|
3
|
+
import { NodeRenderView } from './NodeRenderView.js';
|
|
4
|
+
import { GeometryConverter, KingSyType } from '../loaders/GeometryConverter.js';
|
|
5
|
+
export declare class RenderTree {
|
|
6
|
+
private tree;
|
|
7
|
+
private root;
|
|
8
|
+
private cancel;
|
|
9
|
+
buildNodeTime: number;
|
|
10
|
+
applyTransformTime: number;
|
|
11
|
+
convertTime: number;
|
|
12
|
+
getNodeTime: number;
|
|
13
|
+
otherTime: number;
|
|
14
|
+
get id(): string;
|
|
15
|
+
get subtreeId(): number;
|
|
16
|
+
constructor(tree: WorldTree, subtreeRoot: TreeNode);
|
|
17
|
+
buildRenderTree(geometryConverter: GeometryConverter, callback?: () => void): Promise<boolean>;
|
|
18
|
+
private applyTransforms;
|
|
19
|
+
private buildRenderNode;
|
|
20
|
+
private getRenderMaterialNode;
|
|
21
|
+
private getDisplayStyleNode;
|
|
22
|
+
private getColorMaterialNode;
|
|
23
|
+
computeTransform(node: TreeNode): Matrix4;
|
|
24
|
+
getInstances(): {
|
|
25
|
+
[id: string]: Record<string, TreeNode>;
|
|
26
|
+
};
|
|
27
|
+
getRenderableRenderViews(...types: KingSyType[]): NodeRenderView[];
|
|
28
|
+
getRenderableNodes(...types: KingSyType[]): TreeNode[];
|
|
29
|
+
getRenderViewsForNode(node: TreeNode): NodeRenderView[];
|
|
30
|
+
getRenderViewNodesForNode(node: TreeNode): TreeNode[];
|
|
31
|
+
getRenderViewsForNodeId(id: string, subtreeId?: number): NodeRenderView[] | null;
|
|
32
|
+
getAtomicParent(node: TreeNode): TreeNode;
|
|
33
|
+
purge(): void;
|
|
34
|
+
/** TO DO: Need to purge only if currently building */
|
|
35
|
+
cancelBuild(): void;
|
|
36
|
+
}
|