lythreeframe 1.0.5 → 1.0.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/bundle.cjs.js +2782 -0
- package/dist/bundle.esm.js +2747 -0
- package/dist/index.d.ts +42 -0
- package/dist/lythreeframe/AssetManagement/AssetDefines.d.ts +6 -0
- package/dist/lythreeframe/AssetManagement/AssetManager.d.ts +23 -0
- package/dist/lythreeframe/AssetManagement/AssetPointer/AssetPointer.d.ts +9 -0
- package/dist/lythreeframe/AssetManagement/Task/Task.d.ts +7 -0
- package/dist/lythreeframe/Container/SmartPointer.d.ts +10 -0
- package/dist/lythreeframe/Defines.d.ts +4 -0
- package/dist/lythreeframe/Delegate.d.ts +8 -0
- package/dist/lythreeframe/Factory/CameraFactory.d.ts +20 -0
- package/dist/lythreeframe/Factory/RendererFactory.d.ts +2 -0
- package/dist/lythreeframe/Frame/Controller.d.ts +40 -0
- package/dist/lythreeframe/Frame/Viewport.d.ts +50 -0
- package/dist/lythreeframe/Frame/World.d.ts +18 -0
- package/dist/lythreeframe/Geometry/PlaneGeometry.d.ts +3 -0
- package/dist/lythreeframe/Geometry/TriangleGeometry.d.ts +3 -0
- package/dist/lythreeframe/Library/ContainerLibrary.d.ts +3 -0
- package/dist/lythreeframe/Library/Math.d.ts +27 -0
- package/dist/lythreeframe/Library/ResourceLibrary.d.ts +6 -0
- package/dist/lythreeframe/Object/Actor.d.ts +86 -0
- package/dist/lythreeframe/Object/Actors/Camera/CameraActor.d.ts +4 -0
- package/dist/lythreeframe/Object/Actors/Light/DirectionalLightActor.d.ts +7 -0
- package/dist/lythreeframe/Object/Actors/Shape/BoxActor.d.ts +5 -0
- package/dist/lythreeframe/Object/Actors/Shape/PlaneActor.d.ts +9 -0
- package/dist/lythreeframe/Object/BaseObject.d.ts +10 -0
- package/dist/lythreeframe/Object/Components/2D/2DComponent.d.ts +13 -0
- package/dist/lythreeframe/Object/Components/Camera/CameraComponent.d.ts +26 -0
- package/dist/lythreeframe/Object/Components/Component.d.ts +17 -0
- package/dist/lythreeframe/Object/Components/Light/DirectionalLight/DirectionalLightComponent.d.ts +15 -0
- package/dist/lythreeframe/Object/Components/Light/LightComponent.d.ts +12 -0
- package/dist/lythreeframe/Object/Components/Mesh/InstanceMesh/InstanceMeshComponent.d.ts +7 -0
- package/dist/lythreeframe/Object/Components/Mesh/InstanceMesh/MultiInstanceMeshComponent.d.ts +13 -0
- package/dist/lythreeframe/Object/Components/Mesh/MeshComponent.d.ts +22 -0
- package/dist/lythreeframe/Object/Components/Mesh/Shape/BoxComponent.d.ts +5 -0
- package/dist/lythreeframe/Object/Components/Mesh/Shape/PlaneComponent.d.ts +5 -0
- package/dist/lythreeframe/Object/Components/Mesh/Shape/SphereComponent.d.ts +5 -0
- package/dist/lythreeframe/Object/Components/Mesh/Sprite/SpriteComponent.d.ts +8 -0
- package/dist/lythreeframe/Object/Components/SceneComponent.d.ts +66 -0
- package/dist/lythreeframe/Object/PawnV2/FirstPerson.d.ts +5 -0
- package/dist/lythreeframe/Object/PawnV2/Oribital.d.ts +12 -0
- package/dist/lythreeframe/Object/PawnV2/Pawn.d.ts +14 -0
- package/dist/lythreeframe/Object/PawnV2/TransformControl.d.ts +46 -0
- package/dist/lythreeframe/PostProcess/Param/Bloom.d.ts +6 -0
- package/dist/lythreeframe/PostProcess/Param/DOF.d.ts +6 -0
- package/dist/lythreeframe/PostProcess/Param/Denoise.d.ts +7 -0
- package/dist/lythreeframe/PostProcess/Param/GTAO.d.ts +11 -0
- package/dist/lythreeframe/PostProcess/Param/LensFlare.d.ts +6 -0
- package/dist/lythreeframe/PostProcess/Param/MotionBlur.d.ts +4 -0
- package/dist/lythreeframe/PostProcess/Param/Outline.d.ts +17 -0
- package/dist/lythreeframe/PostProcess/Param/SSR.d.ts +6 -0
- package/dist/lythreeframe/PostProcess/Param/ToneMapping.d.ts +9 -0
- package/dist/lythreeframe/PostProcess/PostProcessParam.d.ts +16 -0
- package/dist/lythreeframe/PostProcess/WebGPUPostProcessFactory.d.ts +43 -0
- package/dist/lythreeframe/Shader/Postprocess/ColorShader.d.ts +29 -0
- package/dist/lythreeframe/ThreeJsApp.d.ts +35 -0
- package/package.json +26 -14
- package/dist/index.ts +0 -80
- package/rollup.config.js +0 -31
- package/src/draco/README.md +0 -32
- package/src/draco/draco_decoder.js +0 -34
- package/src/draco/draco_decoder.wasm +0 -0
- package/src/draco/draco_encoder.js +0 -33
- package/src/draco/draco_wasm_wrapper.js +0 -117
- package/src/draco/gltf/draco_decoder.js +0 -33
- package/src/draco/gltf/draco_decoder.wasm +0 -0
- package/src/draco/gltf/draco_encoder.js +0 -33
- package/src/draco/gltf/draco_wasm_wrapper.js +0 -116
- package/src/index.ts +0 -44
- package/src/lythreeframe/AssetManagement/AssetDefines.ts +0 -8
- package/src/lythreeframe/AssetManagement/AssetManager.ts +0 -288
- package/src/lythreeframe/AssetManagement/AssetPointer/AssetPointer.ts +0 -41
- package/src/lythreeframe/AssetManagement/Task/Task.ts +0 -24
- package/src/lythreeframe/Container/SmartPointer.ts +0 -54
- package/src/lythreeframe/Defines.ts +0 -11
- package/src/lythreeframe/Delegate.ts +0 -37
- package/src/lythreeframe/Factory/CameraFactory.ts +0 -81
- package/src/lythreeframe/Factory/RendererFactory.ts +0 -7
- package/src/lythreeframe/Frame/Controller.ts +0 -261
- package/src/lythreeframe/Frame/Viewport.ts +0 -516
- package/src/lythreeframe/Frame/World.ts +0 -59
- package/src/lythreeframe/Frame.ts +0 -511
- package/src/lythreeframe/Geometry/PlaneGeometry.ts +0 -53
- package/src/lythreeframe/Geometry/TriangleGeometry.ts +0 -50
- package/src/lythreeframe/Library/ContainerLibrary.ts +0 -21
- package/src/lythreeframe/Library/MaterialLibrary.ts +0 -292
- package/src/lythreeframe/Library/Math.ts +0 -154
- package/src/lythreeframe/Library/ResourceLibrary.ts +0 -21
- package/src/lythreeframe/Object/Actor.ts +0 -571
- package/src/lythreeframe/Object/Actors/Camera/CameraActor.ts +0 -11
- package/src/lythreeframe/Object/Actors/Light/DirectionalLightActor.ts +0 -18
- package/src/lythreeframe/Object/Actors/Shape/BoxActor.ts +0 -20
- package/src/lythreeframe/Object/Actors/Shape/CurveActor.ts +0 -11
- package/src/lythreeframe/Object/Actors/Shape/PlaneActor.ts +0 -27
- package/src/lythreeframe/Object/Actors/Shape/TubeActor.ts +0 -37
- package/src/lythreeframe/Object/BaseObject.ts +0 -45
- package/src/lythreeframe/Object/Components/2D/2DComponent.ts +0 -64
- package/src/lythreeframe/Object/Components/Camera/CameraComponent.ts +0 -113
- package/src/lythreeframe/Object/Components/Component.ts +0 -67
- package/src/lythreeframe/Object/Components/Light/DirectionalLight/DirectionalLightComponent.ts +0 -78
- package/src/lythreeframe/Object/Components/Light/LightComponent.ts +0 -54
- package/src/lythreeframe/Object/Components/Mesh/InstanceMesh/InstanceMeshComponent.ts +0 -39
- package/src/lythreeframe/Object/Components/Mesh/InstanceMesh/MultiInstanceMeshComponent.ts +0 -115
- package/src/lythreeframe/Object/Components/Mesh/Line/CurveComponent.ts +0 -221
- package/src/lythreeframe/Object/Components/Mesh/MeshComponent.ts +0 -162
- package/src/lythreeframe/Object/Components/Mesh/Shape/BoxComponent.ts +0 -17
- package/src/lythreeframe/Object/Components/Mesh/Shape/PlaneComponent.ts +0 -10
- package/src/lythreeframe/Object/Components/Mesh/Shape/SphereComponent.ts +0 -10
- package/src/lythreeframe/Object/Components/Mesh/Sprite/SpriteComponent.ts +0 -32
- package/src/lythreeframe/Object/Components/SceneComponent.ts +0 -811
- package/src/lythreeframe/Object/Controller/Controller.ts +0 -764
- package/src/lythreeframe/Object/Pawn/CameraStatus.ts +0 -262
- package/src/lythreeframe/Object/Pawn/FirstPerson.ts +0 -230
- package/src/lythreeframe/Object/Pawn/Oribital.ts +0 -276
- package/src/lythreeframe/Object/Pawn/PawnBase.ts +0 -189
- package/src/lythreeframe/Object/Pawn/TopView.ts +0 -205
- package/src/lythreeframe/Object/Pawn/TransformControl.ts +0 -215
- package/src/lythreeframe/Object/Pawn/staticCamera.ts +0 -80
- package/src/lythreeframe/Object/PawnV2/FirstPerson.ts +0 -12
- package/src/lythreeframe/Object/PawnV2/Oribital.ts +0 -45
- package/src/lythreeframe/Object/PawnV2/Pawn.ts +0 -50
- package/src/lythreeframe/Object/PawnV2/TransformControl.ts +0 -202
- package/src/lythreeframe/PostProcess/Param/Bloom.ts +0 -12
- package/src/lythreeframe/PostProcess/Param/DOF.ts +0 -13
- package/src/lythreeframe/PostProcess/Param/Denoise.ts +0 -14
- package/src/lythreeframe/PostProcess/Param/GTAO.ts +0 -21
- package/src/lythreeframe/PostProcess/Param/LensFlare.ts +0 -11
- package/src/lythreeframe/PostProcess/Param/MotionBlur.ts +0 -8
- package/src/lythreeframe/PostProcess/Param/Outline.ts +0 -20
- package/src/lythreeframe/PostProcess/Param/SSR.ts +0 -11
- package/src/lythreeframe/PostProcess/Param/ToneMapping.ts +0 -31
- package/src/lythreeframe/PostProcess/PostProcessParam.ts +0 -26
- package/src/lythreeframe/PostProcess/WebGPUPostProcessFactory.ts +0 -217
- package/src/lythreeframe/Shader/Postprocess/ColorShader.ts +0 -49
- package/src/lythreeframe/ThreeJsApp.ts +0 -124
- package/tsconfig.json +0 -105
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export { LYLoadTask } from "./lythreeframe/AssetManagement/Task/Task";
|
|
2
|
+
export { LYAssetManager } from "./lythreeframe/AssetManagement/AssetManager";
|
|
3
|
+
export { AttachmentRules } from "./lythreeframe/Defines";
|
|
4
|
+
export { Delegate } from "./lythreeframe/Delegate";
|
|
5
|
+
export { ThreeJsApp, DefaultRenderParam, DefaultCameraParam, DefaultAppParam } from "./lythreeframe/ThreeJsApp";
|
|
6
|
+
export type { AppParam } from "./lythreeframe/ThreeJsApp";
|
|
7
|
+
export { Controller } from "./lythreeframe/Frame/Controller";
|
|
8
|
+
export { Viewport } from "./lythreeframe/Frame/Viewport";
|
|
9
|
+
export { World } from "./lythreeframe/Frame/World";
|
|
10
|
+
export { Actor } from "./lythreeframe/Object/Actor";
|
|
11
|
+
export { DirectionalLightActor } from "./lythreeframe/Object/Actors/Light/DirectionalLightActor";
|
|
12
|
+
export { BoxActor } from "./lythreeframe/Object/Actors/Shape/BoxActor";
|
|
13
|
+
export { PlaneActor } from "./lythreeframe/Object/Actors/Shape/PlaneActor";
|
|
14
|
+
export { WebGPUPostProcessFactory } from "./lythreeframe/PostProcess/WebGPUPostProcessFactory";
|
|
15
|
+
export { DefaultPostProcessParam } from "./lythreeframe/PostProcess/PostProcessParam";
|
|
16
|
+
export type { PostProcessParam } from "./lythreeframe/PostProcess/PostProcessParam";
|
|
17
|
+
export { DefaultBloomParam } from "./lythreeframe/PostProcess/Param/Bloom";
|
|
18
|
+
export type { BloomParam } from "./lythreeframe/PostProcess/Param/Bloom";
|
|
19
|
+
export { DefaultDenoiseParam } from "./lythreeframe/PostProcess/Param/Denoise";
|
|
20
|
+
export type { DenoiseParam } from "./lythreeframe/PostProcess/Param/Denoise";
|
|
21
|
+
export { DefaultDOFParam } from "./lythreeframe/PostProcess/Param/DOF";
|
|
22
|
+
export type { DOFParam } from "./lythreeframe/PostProcess/Param/DOF";
|
|
23
|
+
export { DefaultGTAOParam } from "./lythreeframe/PostProcess/Param/GTAO";
|
|
24
|
+
export type { GTAOParam } from "./lythreeframe/PostProcess/Param/GTAO";
|
|
25
|
+
export { DefaultOutlineParams } from "./lythreeframe/PostProcess/Param/Outline";
|
|
26
|
+
export type { OutlineParams } from "./lythreeframe/PostProcess/Param/Outline";
|
|
27
|
+
export { DefaultSSRParam } from "./lythreeframe/PostProcess/Param/SSR";
|
|
28
|
+
export type { SSRParam } from "./lythreeframe/PostProcess/Param/SSR";
|
|
29
|
+
export { DefaultToneMappingParams, ToneMappingOptions } from "./lythreeframe/PostProcess/Param/ToneMapping";
|
|
30
|
+
export type { ToneMappingParams } from "./lythreeframe/PostProcess/Param/ToneMapping";
|
|
31
|
+
export { SceneComponent } from "./lythreeframe/Object/Components/SceneComponent";
|
|
32
|
+
export { MeshComponent } from "./lythreeframe/Object/Components/Mesh/MeshComponent";
|
|
33
|
+
export { BoxComponent } from "./lythreeframe/Object/Components/Mesh/Shape/BoxComponent";
|
|
34
|
+
export { PlaneComponent } from "./lythreeframe/Object/Components/Mesh/Shape/PlaneComponent";
|
|
35
|
+
export { SphereComponent } from "./lythreeframe/Object/Components/Mesh/Shape/SphereComponent";
|
|
36
|
+
export { DirectionalLightComponent } from "./lythreeframe/Object/Components/Light/DirectionalLight/DirectionalLightComponent";
|
|
37
|
+
export { LabelComponent } from "./lythreeframe/Object/Components/2D/2DComponent";
|
|
38
|
+
export { Orbital } from "./lythreeframe/Object/PawnV2/Oribital";
|
|
39
|
+
export { FirstPerson } from "./lythreeframe/Object/PawnV2/FirstPerson";
|
|
40
|
+
export type { ITransforming } from "./lythreeframe/Object/PawnV2/TransformControl";
|
|
41
|
+
export { TransformType } from "./lythreeframe/Object/PawnV2/TransformControl";
|
|
42
|
+
export { TransformGizmo } from "./lythreeframe/Object/PawnV2/TransformControl";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BufferGeometry, LoadingManager, Material, Mesh, Texture } from 'three';
|
|
2
|
+
import { SceneComponent } from "../Object/Components/SceneComponent";
|
|
3
|
+
import { LYLoadTask } from "./Task/Task";
|
|
4
|
+
import { TAssetPointer } from "./AssetPointer/AssetPointer";
|
|
5
|
+
import { DRACOLoader, GLTFLoader } from 'three/examples/jsm/Addons.js';
|
|
6
|
+
export declare class LYAssetManager {
|
|
7
|
+
protected assetPointer: Map<string, TAssetPointer<BufferGeometry | Texture | Material>>;
|
|
8
|
+
protected readonly dracoLoader: DRACOLoader;
|
|
9
|
+
protected readonly gltfLoader: GLTFLoader;
|
|
10
|
+
protected readonly loadingManager: LoadingManager;
|
|
11
|
+
constructor();
|
|
12
|
+
get LoadingManager(): LoadingManager;
|
|
13
|
+
static Get(): LYAssetManager;
|
|
14
|
+
static ClearAssets(): void;
|
|
15
|
+
convertThreeObjectToLYObject(parentLYComponent: SceneComponent, threejsObject: any): SceneComponent | null;
|
|
16
|
+
private collectResourcesAndReferences;
|
|
17
|
+
checkMeshResource(mesh: Mesh): void;
|
|
18
|
+
loadMultiGLTFAsGroup(tasks: LYLoadTask[], onProgress?: ((url: string, loaded: number, total: number) => void) | null, onAllFinished?: (() => void) | null): void;
|
|
19
|
+
loadFile(filepath: string | undefined, onLoadFinished: (data: any) => void): void;
|
|
20
|
+
addAsset(asset: BufferGeometry | Material | Texture, referenceCount?: number): void;
|
|
21
|
+
releaseAsset(asset: BufferGeometry | Material | Texture): void;
|
|
22
|
+
clearAssets(): void;
|
|
23
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BufferGeometry, Material, Texture } from "three";
|
|
2
|
+
import { TSmartPointer } from "../../Container/SmartPointer";
|
|
3
|
+
export declare class TAssetPointer<T extends BufferGeometry | Texture | Material> extends TSmartPointer<T> {
|
|
4
|
+
get uuid(): string;
|
|
5
|
+
private readonly _uuid;
|
|
6
|
+
constructor(value: T, referenceCount?: number);
|
|
7
|
+
release(): void;
|
|
8
|
+
forceRelease(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class TSmartPointer<T> {
|
|
2
|
+
protected referenceCount: number;
|
|
3
|
+
protected value: T | null;
|
|
4
|
+
constructor(value: T, referenceCount?: number);
|
|
5
|
+
getRefCount(): number;
|
|
6
|
+
addRef(count?: number): void;
|
|
7
|
+
release(): void;
|
|
8
|
+
forceRelease(): void;
|
|
9
|
+
getValue(): T | null;
|
|
10
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OrthographicCamera, PerspectiveCamera } from "three";
|
|
2
|
+
export interface CameraParam {
|
|
3
|
+
near: number;
|
|
4
|
+
far: number;
|
|
5
|
+
param: PerspectiveCameraParam | OrthographicCameraParam;
|
|
6
|
+
}
|
|
7
|
+
export interface PerspectiveCameraParam {
|
|
8
|
+
fov: number;
|
|
9
|
+
aspect: number;
|
|
10
|
+
}
|
|
11
|
+
export interface OrthographicCameraParam {
|
|
12
|
+
left: number;
|
|
13
|
+
right: number;
|
|
14
|
+
top: number;
|
|
15
|
+
bottom: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class CameraFactory {
|
|
18
|
+
static createCamera(param: CameraParam): PerspectiveCamera | OrthographicCamera;
|
|
19
|
+
static updataCamera(param: CameraParam, camera: PerspectiveCamera | OrthographicCamera): PerspectiveCamera | OrthographicCamera | undefined;
|
|
20
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ThreeJsApp } from "../ThreeJsApp";
|
|
2
|
+
import { Intersection, OrthographicCamera, PerspectiveCamera } from "three";
|
|
3
|
+
import { World } from "./World";
|
|
4
|
+
import { Viewport } from "./Viewport";
|
|
5
|
+
import { Pawn } from "../Object/PawnV2/Pawn";
|
|
6
|
+
import { Delegate } from "../Delegate";
|
|
7
|
+
export declare class Controller {
|
|
8
|
+
private prepareClickComponent;
|
|
9
|
+
get camera(): PerspectiveCamera | OrthographicCamera;
|
|
10
|
+
get world(): World;
|
|
11
|
+
get viewPort(): Viewport;
|
|
12
|
+
get pawn(): Pawn;
|
|
13
|
+
private app;
|
|
14
|
+
private _pawn;
|
|
15
|
+
private raycaster;
|
|
16
|
+
private onPointerMove;
|
|
17
|
+
private onPointerEnter;
|
|
18
|
+
private onPointerLeave;
|
|
19
|
+
private onPointerUp;
|
|
20
|
+
private onPointerDown;
|
|
21
|
+
private pointerPosition;
|
|
22
|
+
private readonly doubleClickDelay;
|
|
23
|
+
private leftClickTimer;
|
|
24
|
+
private pointerLeftDownPosition;
|
|
25
|
+
private hoveringComponent;
|
|
26
|
+
private _pointButtonIsDown;
|
|
27
|
+
get onClickNothingDelegate(): Delegate<[void]>;
|
|
28
|
+
private _onClickNothingDelegate;
|
|
29
|
+
constructor(app: ThreeJsApp);
|
|
30
|
+
init(): void;
|
|
31
|
+
tick(deltaTime: number): void;
|
|
32
|
+
destroy(): void;
|
|
33
|
+
onPointerMoveEvent(event: MouseEvent): void;
|
|
34
|
+
onPointerUpEvent(event: MouseEvent): void;
|
|
35
|
+
onPointerDownEvent(event: MouseEvent): void;
|
|
36
|
+
onPointerEnterEvent(event: MouseEvent): void;
|
|
37
|
+
onPointerLeaveEvent(event: MouseEvent): void;
|
|
38
|
+
getHitResultUnderCursor(): Intersection | null;
|
|
39
|
+
getHitResultFromScreenPoint(x: number, y: number): Intersection | null;
|
|
40
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { PostProcessParam } from './../PostProcess/PostProcessParam';
|
|
2
|
+
import { WebGPURendererParameters } from "three/src/renderers/webgpu/WebGPURenderer.js";
|
|
3
|
+
import { WebGPURenderer } from "three/webgpu";
|
|
4
|
+
import { BloomParam } from "../PostProcess/Param/Bloom";
|
|
5
|
+
import { GTAOParam } from "../PostProcess/Param/GTAO";
|
|
6
|
+
import { ToneMappingParams } from "../PostProcess/Param/ToneMapping";
|
|
7
|
+
import { ThreeJsApp } from "../ThreeJsApp";
|
|
8
|
+
import { SSRParam } from "../PostProcess/Param/SSR";
|
|
9
|
+
import { OutlineParams } from '../PostProcess/Param/Outline';
|
|
10
|
+
import { Object3D } from 'three/src/Three.WebGPU.Nodes.js';
|
|
11
|
+
import { DOFParam } from '../PostProcess/Param/DOF';
|
|
12
|
+
export declare class Viewport {
|
|
13
|
+
get canvas(): HTMLElement;
|
|
14
|
+
get renderer(): WebGPURenderer;
|
|
15
|
+
get app(): ThreeJsApp;
|
|
16
|
+
private _renderer;
|
|
17
|
+
private labelRenderer;
|
|
18
|
+
protected _app: ThreeJsApp | null;
|
|
19
|
+
private resizeObserver;
|
|
20
|
+
private _canvas;
|
|
21
|
+
private isRenderStateDirty;
|
|
22
|
+
private postProcessParam;
|
|
23
|
+
private postProcessing;
|
|
24
|
+
private scenePass;
|
|
25
|
+
private bloomPass;
|
|
26
|
+
private dofPass;
|
|
27
|
+
private GTAOPass;
|
|
28
|
+
private denoiseGTAOPass;
|
|
29
|
+
private ssrPass;
|
|
30
|
+
private outlinePass;
|
|
31
|
+
private fxaaPass;
|
|
32
|
+
private smaaPass;
|
|
33
|
+
private outlineObjects;
|
|
34
|
+
constructor(app: ThreeJsApp, elementId: string, rendererParam?: WebGPURendererParameters, postProcessParam?: PostProcessParam);
|
|
35
|
+
init(): void;
|
|
36
|
+
setupPostProcess(): void;
|
|
37
|
+
updateToneMappingParam(params: ToneMappingParams): void;
|
|
38
|
+
updateBloomPass(params: BloomParam): void;
|
|
39
|
+
updateGTAOParam(params: GTAOParam | null): void;
|
|
40
|
+
updateDOFParam(params: DOFParam | null): void;
|
|
41
|
+
updateSSRParam(params: SSRParam | null): void;
|
|
42
|
+
updateOutlineParam(params: OutlineParams | null): void;
|
|
43
|
+
addOutlineObject(obj: Object3D): void;
|
|
44
|
+
removeOutlineObject(obj: Object3D): void;
|
|
45
|
+
destroyPostProcess(): void;
|
|
46
|
+
onWindowResize(): void;
|
|
47
|
+
markRenderStateDirty(): void;
|
|
48
|
+
render(): void;
|
|
49
|
+
destroy(): void;
|
|
50
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Scene } from "three";
|
|
2
|
+
import { ThreeJsApp } from "../ThreeJsApp";
|
|
3
|
+
import { Viewport } from "./Viewport";
|
|
4
|
+
import { Controller } from "./Controller";
|
|
5
|
+
import { Actor } from "../Object/Actor";
|
|
6
|
+
export declare class World {
|
|
7
|
+
get scene(): Scene;
|
|
8
|
+
get viewport(): Viewport;
|
|
9
|
+
get controller(): Controller;
|
|
10
|
+
protected _scene: Scene;
|
|
11
|
+
protected app: ThreeJsApp;
|
|
12
|
+
protected actors: Set<Actor>;
|
|
13
|
+
constructor(app: ThreeJsApp);
|
|
14
|
+
init(): void;
|
|
15
|
+
tick(deltaTime: number): void;
|
|
16
|
+
addActor(actor: Actor): void;
|
|
17
|
+
destroy(): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Vector3, Quaternion, Object3D, Box3, Plane, Euler } from "three";
|
|
2
|
+
export interface Segment {
|
|
3
|
+
pointA: Vector3;
|
|
4
|
+
pointB: Vector3;
|
|
5
|
+
}
|
|
6
|
+
export declare class LYMath {
|
|
7
|
+
static degreeToRadians(degree: number): number;
|
|
8
|
+
static radiansToDegree(radians: number): number;
|
|
9
|
+
static threeJsEulerAngleAsDegree(euler: Euler): {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
z: number;
|
|
13
|
+
};
|
|
14
|
+
static getQuatFromAxis(forwardVector: Vector3, upVector?: Vector3): Quaternion;
|
|
15
|
+
static MaxVector(v1: Vector3, v2: Vector3): Vector3;
|
|
16
|
+
static clamp(value: number, min: number, max: number): number;
|
|
17
|
+
static getPlaneConstantFromPointAndNormal(point: Vector3, normal: Vector3): number;
|
|
18
|
+
static getSizeAndCenterOfObject3D(object: Object3D): {
|
|
19
|
+
boundingBox: Box3;
|
|
20
|
+
size: Vector3;
|
|
21
|
+
center: Vector3;
|
|
22
|
+
};
|
|
23
|
+
static SegmentsIntersection(segmentA: Segment, segmentB: Segment): Vector3 | null;
|
|
24
|
+
static getCenterPointInPoints(points: Vector3[]): Vector3;
|
|
25
|
+
static contructPlane(dirction: Vector3, position: Vector3, quaternion: Quaternion, scale: Vector3): Plane;
|
|
26
|
+
static intersectRayPlane(rayOrigin: Vector3, rayDirection: Vector3, planeNormal: Vector3, planePoint: Vector3): Vector3 | null;
|
|
27
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Vector3, Quaternion, Euler, Matrix4, Object3D } from "three";
|
|
2
|
+
import { BaseObject } from "./BaseObject";
|
|
3
|
+
import { AttachmentRules } from "../Defines";
|
|
4
|
+
import { SceneComponent } from "./Components/SceneComponent";
|
|
5
|
+
import { World } from "../Frame/World";
|
|
6
|
+
export declare class Actor extends BaseObject {
|
|
7
|
+
get world(): World | null;
|
|
8
|
+
get name(): string;
|
|
9
|
+
set name(name: string);
|
|
10
|
+
get rootComponent(): SceneComponent;
|
|
11
|
+
set rootComponent(newRoot: SceneComponent);
|
|
12
|
+
get childrenComponents(): any[];
|
|
13
|
+
get childActors(): Actor[];
|
|
14
|
+
get parentActor(): Actor | null;
|
|
15
|
+
get isVisible(): boolean;
|
|
16
|
+
protected _name: string;
|
|
17
|
+
protected _rootComponent: SceneComponent | null;
|
|
18
|
+
protected _world: World | null;
|
|
19
|
+
protected onClickedEvent: ((component?: SceneComponent) => void)[];
|
|
20
|
+
protected onDoubleClickedEvent: ((component?: SceneComponent) => void)[];
|
|
21
|
+
protected onHoverBeginEvent: ((component?: SceneComponent) => void)[];
|
|
22
|
+
protected onHoverEndEvent: ((component?: SceneComponent) => void)[];
|
|
23
|
+
constructor(myThreeObject?: Object3D | null);
|
|
24
|
+
protected constructRootComponent(myThreeObject?: Object3D | null): void;
|
|
25
|
+
getBoundsCenterPosition(bInWorldSpace?: boolean): Vector3;
|
|
26
|
+
getBoundsTopCenterPosition(bInWorldSpace?: boolean): Vector3;
|
|
27
|
+
getBoundsBottomCenterPosition(bInWorldSpace?: boolean): Vector3;
|
|
28
|
+
getBounds(): import("three").Box3;
|
|
29
|
+
destroy(): void;
|
|
30
|
+
setVisible(bVisible: boolean): void;
|
|
31
|
+
setLayers(layer: number, bAffectChildActor?: boolean): void;
|
|
32
|
+
tick(deltaTime: number): void;
|
|
33
|
+
getPosition(): Vector3;
|
|
34
|
+
setPosition(position: Vector3): void;
|
|
35
|
+
setPosition(x: number, y: number, z: number): void;
|
|
36
|
+
getRotation(): Euler;
|
|
37
|
+
setRotation(rotation: Euler): void;
|
|
38
|
+
setRotation(x: number, y: number, z: number): void;
|
|
39
|
+
getQuaternion(): Quaternion;
|
|
40
|
+
setQuaternion(quat: Quaternion): void;
|
|
41
|
+
setQuaternion(x: number, y: number, z: number, w: number): void;
|
|
42
|
+
getScale(): Vector3;
|
|
43
|
+
setScale(position: Vector3): void;
|
|
44
|
+
setScale(x: number, y: number, z: number): void;
|
|
45
|
+
getWorldMatrix(): Matrix4;
|
|
46
|
+
setWorldMatrix(newMatrix: Matrix4): void;
|
|
47
|
+
getWorldPosition(): Vector3;
|
|
48
|
+
getWorldRotation(): Euler;
|
|
49
|
+
getWorldQuaternion(): Quaternion;
|
|
50
|
+
getWorldScale(): Vector3;
|
|
51
|
+
getWorldForwardDirection(): Vector3;
|
|
52
|
+
getWorldUpDirection(): Vector3;
|
|
53
|
+
getWorldRightDirection(): Vector3;
|
|
54
|
+
addLocalOffset(axis: Vector3, value: number): void;
|
|
55
|
+
worldToLocal(vec: Vector3): Vector3;
|
|
56
|
+
localToWorld(vec: Vector3): Vector3;
|
|
57
|
+
getComponents(): any[];
|
|
58
|
+
addComponent(newComponent: SceneComponent, attachmentRule?: AttachmentRules): void;
|
|
59
|
+
removeComponent(targetComponent: SceneComponent): void;
|
|
60
|
+
clearComponent(): void;
|
|
61
|
+
addChildActor(newActor: Actor, attachmentRule?: AttachmentRules): void;
|
|
62
|
+
removeChildActor(target: Actor): void;
|
|
63
|
+
removeFromParent(): void;
|
|
64
|
+
onAddedToWorld(world: World): void;
|
|
65
|
+
onRemovedFromWorld(): void;
|
|
66
|
+
get isHoverEnabled(): boolean;
|
|
67
|
+
set isHoverEnabled(bCanHorver: boolean);
|
|
68
|
+
get isClickEnabled(): boolean;
|
|
69
|
+
set isClickEnabled(bCanHorver: boolean);
|
|
70
|
+
addHoveringBeginEvent(newFunc: (component?: SceneComponent) => void): void;
|
|
71
|
+
removeHoveringBeginEvent(target: (component?: SceneComponent) => void): void;
|
|
72
|
+
clearHoveringBeginEvent(): void;
|
|
73
|
+
onComponentHorveringBegin(component: SceneComponent): void;
|
|
74
|
+
addHoveringEndEvent(newFunc: (component?: SceneComponent) => void): void;
|
|
75
|
+
removeHoveringEndEvent(target: (component?: SceneComponent) => void): void;
|
|
76
|
+
clearHoveringEndEvent(): void;
|
|
77
|
+
onComponentHorveringEnd(component: SceneComponent): void;
|
|
78
|
+
addClickEvent(newFunc: (component?: SceneComponent) => void): void;
|
|
79
|
+
removeClickEvent(target: (component?: SceneComponent) => void): void;
|
|
80
|
+
clearClickEvent(): void;
|
|
81
|
+
onComponentClicked(component: SceneComponent): void;
|
|
82
|
+
addDoubleClickEvent(newFunc: (component?: SceneComponent) => void): void;
|
|
83
|
+
removeDoubleClickEvent(target: (component?: SceneComponent) => void): void;
|
|
84
|
+
onComponentDoubleClicked(component: SceneComponent): void;
|
|
85
|
+
clearDoubleClickEvent(): void;
|
|
86
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ColorRepresentation } from "three";
|
|
2
|
+
import { Actor } from "../../Actor";
|
|
3
|
+
import { DirectionalLightComponent } from "../../Components/Light/DirectionalLight/DirectionalLightComponent";
|
|
4
|
+
export declare class DirectionalLightActor extends Actor {
|
|
5
|
+
protected lightComponent: DirectionalLightComponent;
|
|
6
|
+
constructor(color?: ColorRepresentation, intensity?: number);
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Material } from "three";
|
|
2
|
+
import { Actor } from "../../Actor";
|
|
3
|
+
export declare class BoxActor extends Actor {
|
|
4
|
+
constructor(width?: number, height?: number, depth?: number, widthSegments?: number, heightSegments?: number, depthSegments?: number, material?: Material);
|
|
5
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Material } from "three";
|
|
2
|
+
import { Actor } from "../../Actor";
|
|
3
|
+
import { PlaneComponent } from "../../Components/Mesh/Shape/PlaneComponent";
|
|
4
|
+
export declare class PlaneActor extends Actor {
|
|
5
|
+
get planeComponent(): PlaneComponent | null;
|
|
6
|
+
private _planeComponent;
|
|
7
|
+
constructor(width: number, height: number, material?: Material, widthSegments?: number, heightSegments?: number);
|
|
8
|
+
destroy(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare abstract class BaseObject {
|
|
2
|
+
get IsTickable(): boolean;
|
|
3
|
+
set IsTickable(bCanTick: boolean);
|
|
4
|
+
get uuid(): string;
|
|
5
|
+
protected bCanTick: boolean;
|
|
6
|
+
protected _uuid: string;
|
|
7
|
+
protected constructor(uuid?: string);
|
|
8
|
+
tick(deltaTime: number): void;
|
|
9
|
+
destroy(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CSS2DObject } from "three/examples/jsm/renderers/CSS2DRenderer.js";
|
|
2
|
+
import { Vector2 } from "three";
|
|
3
|
+
import { SceneComponent } from "../SceneComponent";
|
|
4
|
+
export declare class LabelComponent extends SceneComponent {
|
|
5
|
+
get threeObject(): CSS2DObject;
|
|
6
|
+
set threeObject(newThreeObject: CSS2DObject);
|
|
7
|
+
protected obj: CSS2DObject;
|
|
8
|
+
constructor(domElement: HTMLElement, center?: Vector2);
|
|
9
|
+
set isHoverEnabled(bCanHorver: boolean);
|
|
10
|
+
set isClickEnabled(bCanClick: boolean);
|
|
11
|
+
setVisible(bVisible: boolean): void;
|
|
12
|
+
destroy(): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SceneComponent } from "../SceneComponent";
|
|
2
|
+
import { OrthographicCamera, PerspectiveCamera } from "three";
|
|
3
|
+
interface CameraParam {
|
|
4
|
+
near: number;
|
|
5
|
+
far: number;
|
|
6
|
+
param: PerspectiveCameraParam | OrthographicCameraParam;
|
|
7
|
+
}
|
|
8
|
+
interface PerspectiveCameraParam {
|
|
9
|
+
fov: number;
|
|
10
|
+
aspect: number;
|
|
11
|
+
}
|
|
12
|
+
interface OrthographicCameraParam {
|
|
13
|
+
left: number;
|
|
14
|
+
right: number;
|
|
15
|
+
top: number;
|
|
16
|
+
bottom: number;
|
|
17
|
+
}
|
|
18
|
+
export declare class CameraComponent extends SceneComponent {
|
|
19
|
+
get threeObject(): PerspectiveCamera | OrthographicCamera;
|
|
20
|
+
get camera(): PerspectiveCamera | OrthographicCamera;
|
|
21
|
+
private set threeObject(value);
|
|
22
|
+
protected obj: PerspectiveCamera | OrthographicCamera;
|
|
23
|
+
constructor(param?: CameraParam);
|
|
24
|
+
updateCamera(param: CameraParam): void;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Object3D } from "three";
|
|
2
|
+
import { BaseObject } from "../BaseObject";
|
|
3
|
+
import { Actor } from "../Actor";
|
|
4
|
+
export declare abstract class Component extends BaseObject {
|
|
5
|
+
set parentActor(value: Actor | null);
|
|
6
|
+
get parentActor(): Actor | null;
|
|
7
|
+
get threeObject(): Object3D | null;
|
|
8
|
+
set threeObject(newThreeObject: Object3D);
|
|
9
|
+
get name(): string;
|
|
10
|
+
set name(name: string);
|
|
11
|
+
protected obj: Object3D | null;
|
|
12
|
+
protected _parentActor: Actor | null;
|
|
13
|
+
protected _name: string;
|
|
14
|
+
protected constructor(newThreeObject: Object3D);
|
|
15
|
+
destroyObject(): void;
|
|
16
|
+
destroy(): void;
|
|
17
|
+
}
|
package/dist/lythreeframe/Object/Components/Light/DirectionalLight/DirectionalLightComponent.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LightComponent } from "../LightComponent";
|
|
2
|
+
import { ColorRepresentation, DirectionalLight, Vector3 } from "three";
|
|
3
|
+
import { World } from "../../../../Frame/World";
|
|
4
|
+
export declare class DirectionalLightComponent extends LightComponent {
|
|
5
|
+
get threeObject(): DirectionalLight;
|
|
6
|
+
set threeObject(newThreeObject: DirectionalLight);
|
|
7
|
+
get castShadow(): boolean;
|
|
8
|
+
set castShadow(value: boolean);
|
|
9
|
+
protected obj: DirectionalLight | null;
|
|
10
|
+
constructor(color?: ColorRepresentation, intensity?: number);
|
|
11
|
+
setPosition(...args: [Vector3] | [number, number, number]): void;
|
|
12
|
+
update(): void;
|
|
13
|
+
onAddedToWorld(world: World): void;
|
|
14
|
+
destroy(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ColorRepresentation, Light } from "three";
|
|
2
|
+
import { SceneComponent } from "../SceneComponent";
|
|
3
|
+
export declare abstract class LightComponent extends SceneComponent {
|
|
4
|
+
get threeObject(): Light;
|
|
5
|
+
set threeObject(newThreeObject: Light);
|
|
6
|
+
get color(): number;
|
|
7
|
+
set color(color: ColorRepresentation);
|
|
8
|
+
get intensity(): number;
|
|
9
|
+
set intensity(intensity: number);
|
|
10
|
+
protected obj: Light | null;
|
|
11
|
+
protected constructor(light: Light);
|
|
12
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BufferGeometry, Material, Matrix4 } from "three";
|
|
2
|
+
import { MeshComponent } from "../MeshComponent";
|
|
3
|
+
export declare class LYInstanceMeshComponent extends MeshComponent {
|
|
4
|
+
constructor(geometry: BufferGeometry, material: Material | Material[], matrices: Matrix4[]);
|
|
5
|
+
update(matrices: Matrix4[]): void;
|
|
6
|
+
destroy(): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Matrix4, Object3D } from "three";
|
|
2
|
+
import { SceneComponent } from "../../SceneComponent";
|
|
3
|
+
export declare class LYMultiInstanceMeshComponent extends SceneComponent {
|
|
4
|
+
get matrices(): Matrix4[];
|
|
5
|
+
private ins;
|
|
6
|
+
private count;
|
|
7
|
+
private object;
|
|
8
|
+
private _matrices;
|
|
9
|
+
constructor(object: Object3D, matrices: Matrix4[]);
|
|
10
|
+
private collectMeshes;
|
|
11
|
+
update(matrices: Matrix4[]): void;
|
|
12
|
+
destroy(): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BufferGeometry, Material, Mesh } from 'three';
|
|
2
|
+
import { Vector3 } from "three";
|
|
3
|
+
import { SceneComponent } from "../SceneComponent";
|
|
4
|
+
export declare class MeshComponent extends SceneComponent {
|
|
5
|
+
get threeObject(): Mesh | null;
|
|
6
|
+
set threeObject(newThreeObject: Mesh);
|
|
7
|
+
protected obj: Mesh | null;
|
|
8
|
+
get geometry(): BufferGeometry | null;
|
|
9
|
+
set geometry(geo: BufferGeometry);
|
|
10
|
+
get material(): Material | Material[] | null;
|
|
11
|
+
set material(newMat: Material | Material[]);
|
|
12
|
+
constructor(mesh: Mesh);
|
|
13
|
+
constructor(geometry: BufferGeometry, material: Material | Material[] | null);
|
|
14
|
+
set castShadow(bCast: boolean);
|
|
15
|
+
get castShadow(): boolean;
|
|
16
|
+
set receiveShadow(bReceive: boolean);
|
|
17
|
+
get receiveShadow(): boolean;
|
|
18
|
+
getBoundsCenterPosition(): Vector3;
|
|
19
|
+
getBoundsTopCenterPosition(): Vector3;
|
|
20
|
+
getBoundsBottomCenterPosition(): Vector3;
|
|
21
|
+
destroyObject(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Material } from "three";
|
|
2
|
+
import { MeshComponent } from "../MeshComponent";
|
|
3
|
+
export declare class BoxComponent extends MeshComponent {
|
|
4
|
+
constructor(width?: number, height?: number, depth?: number, widthSegments?: number, heightSegments?: number, depthSegments?: number, material?: Material);
|
|
5
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Sprite, Texture } from "three";
|
|
2
|
+
import { SceneComponent } from "../../SceneComponent";
|
|
3
|
+
export declare class SpriteComponent extends SceneComponent {
|
|
4
|
+
get threeObject(): Sprite;
|
|
5
|
+
set threeObject(newThreeObject: Sprite);
|
|
6
|
+
protected obj: Sprite;
|
|
7
|
+
constructor(texture: Texture);
|
|
8
|
+
}
|