lythreeframe 1.0.2 → 1.0.6
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/LICENSE +8 -0
- package/README.md +3 -0
- package/dist/bundle.cjs.js +2646 -0
- package/dist/bundle.esm.js +2612 -0
- package/dist/index.d.ts +40 -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 +31 -13
- package/index.js +0 -48
- package/src/AssetManagement/AssetDefines.ts +0 -8
- package/src/AssetManagement/AssetManager.ts +0 -286
- package/src/AssetManagement/AssetPointer/AssetPointer.ts +0 -41
- package/src/AssetManagement/Task/Task.ts +0 -24
- package/src/Container/SmartPointer.ts +0 -54
- package/src/Defines.ts +0 -11
- package/src/Delegate.ts +0 -37
- package/src/Factory/CameraFactory.ts +0 -81
- package/src/Factory/RendererFactory.ts +0 -7
- package/src/Frame/Controller.ts +0 -261
- package/src/Frame/Viewport.ts +0 -516
- package/src/Frame/World.ts +0 -59
- package/src/Frame.ts +0 -511
- package/src/Geometry/PlaneGeometry.ts +0 -53
- package/src/Geometry/TriangleGeometry.ts +0 -50
- package/src/Library/ContainerLibrary.ts +0 -21
- package/src/Library/MaterialLibrary.ts +0 -288
- package/src/Library/Math.ts +0 -154
- package/src/Library/ResourceLibrary.ts +0 -21
- package/src/Object/Actor.ts +0 -571
- package/src/Object/Actors/Camera/CameraActor.ts +0 -11
- package/src/Object/Actors/Light/DirectionalLightActor.ts +0 -18
- package/src/Object/Actors/Shape/BoxActor.ts +0 -20
- package/src/Object/Actors/Shape/CurveActor.ts +0 -11
- package/src/Object/Actors/Shape/PlaneActor.ts +0 -27
- package/src/Object/Actors/Shape/TubeActor.ts +0 -37
- package/src/Object/BaseObject.ts +0 -45
- package/src/Object/Components/2D/2DComponent.ts +0 -64
- package/src/Object/Components/Camera/CameraComponent.ts +0 -113
- package/src/Object/Components/Component.ts +0 -67
- package/src/Object/Components/Light/DirectionalLight/DirectionalLightComponent.ts +0 -78
- package/src/Object/Components/Light/LightComponent.ts +0 -54
- package/src/Object/Components/Mesh/InstanceMesh/InstanceMeshComponent.ts +0 -39
- package/src/Object/Components/Mesh/InstanceMesh/MultiInstanceMeshComponent.ts +0 -115
- package/src/Object/Components/Mesh/Line/CurveComponent.ts +0 -221
- package/src/Object/Components/Mesh/MeshComponent.ts +0 -162
- package/src/Object/Components/Mesh/Shape/BoxComponent.ts +0 -17
- package/src/Object/Components/Mesh/Shape/PlaneComponent.ts +0 -10
- package/src/Object/Components/Mesh/Shape/SphereComponent.ts +0 -10
- package/src/Object/Components/Mesh/Sprite/SpriteComponent.ts +0 -32
- package/src/Object/Components/SceneComponent.ts +0 -809
- package/src/Object/Controller/Controller.ts +0 -764
- package/src/Object/Pawn/CameraStatus.ts +0 -262
- package/src/Object/Pawn/FirstPerson.ts +0 -230
- package/src/Object/Pawn/Oribital.ts +0 -276
- package/src/Object/Pawn/PawnBase.ts +0 -189
- package/src/Object/Pawn/TopView.ts +0 -205
- package/src/Object/Pawn/TransformControl.ts +0 -215
- package/src/Object/Pawn/staticCamera.ts +0 -80
- package/src/Object/PawnV2/FirstPerson.ts +0 -12
- package/src/Object/PawnV2/Oribital.ts +0 -45
- package/src/Object/PawnV2/Pawn.ts +0 -50
- package/src/Object/PawnV2/TransformControl.ts +0 -201
- package/src/PostProcess/Param/Bloom.ts +0 -12
- package/src/PostProcess/Param/DOF.ts +0 -14
- package/src/PostProcess/Param/Denoise.ts +0 -14
- package/src/PostProcess/Param/GTAO.ts +0 -21
- package/src/PostProcess/Param/LensFlare.ts +0 -11
- package/src/PostProcess/Param/MotionBlur.ts +0 -8
- package/src/PostProcess/Param/Outline.ts +0 -20
- package/src/PostProcess/Param/SSR.ts +0 -11
- package/src/PostProcess/Param/ToneMapping.ts +0 -31
- package/src/PostProcess/PostProcessParam.ts +0 -26
- package/src/PostProcess/WebGPUPostProcessFactory.ts +0 -217
- package/src/Shader/Postprocess/ColorShader.ts +0 -49
- package/src/ThreeJsApp.ts +0 -124
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Actor } from "../Actor";
|
|
2
|
+
import { Box3, Euler, Matrix4, Object3D, Quaternion, Vector3 } from "three";
|
|
3
|
+
import { Component } from "./Component";
|
|
4
|
+
import { World } from "../../Frame/World";
|
|
5
|
+
import { AttachmentRules } from "../../Defines";
|
|
6
|
+
export declare class SceneComponent extends Component {
|
|
7
|
+
set parentActor(value: Actor | null);
|
|
8
|
+
get parentActor(): Actor | null;
|
|
9
|
+
protected bCanHover: boolean;
|
|
10
|
+
protected bCanClick: boolean;
|
|
11
|
+
protected world: World | null;
|
|
12
|
+
constructor(newThreeObject: Object3D);
|
|
13
|
+
createDefaultThreeObject(): void;
|
|
14
|
+
get isVisible(): boolean;
|
|
15
|
+
setVisible(bVisible: boolean): void;
|
|
16
|
+
setLayers(layer: number): void;
|
|
17
|
+
getBoundsCenterPositionWS(): Vector3;
|
|
18
|
+
getBoundsTopCenterPositionWS(): Vector3;
|
|
19
|
+
getBoundsBottomCenterPositionWS(): Vector3;
|
|
20
|
+
getBounds(): Box3;
|
|
21
|
+
get parentComponent(): SceneComponent | null;
|
|
22
|
+
get childrenComponents(): any[];
|
|
23
|
+
onAddedToWorld(world: World): void;
|
|
24
|
+
destroy(): void;
|
|
25
|
+
destroyObject(): void;
|
|
26
|
+
getPosition(): Vector3;
|
|
27
|
+
setPosition(position: Vector3): void;
|
|
28
|
+
setPosition(x: number, y: number, z: number): void;
|
|
29
|
+
getRotation(): Euler;
|
|
30
|
+
setRotation(rotation: Euler): void;
|
|
31
|
+
setRotation(x: number, y: number, z: number): void;
|
|
32
|
+
getQuaternion(): Quaternion;
|
|
33
|
+
setQuaternion(quat: Quaternion): void;
|
|
34
|
+
setQuaternion(x: number, y: number, z: number, w: number): void;
|
|
35
|
+
getScale(): Vector3;
|
|
36
|
+
setScale(position: Vector3): void;
|
|
37
|
+
setScale(x: number, y: number, z: number): void;
|
|
38
|
+
getMatrix(): Matrix4;
|
|
39
|
+
setMatrix(matrix: Matrix4): void;
|
|
40
|
+
getWorldPosition(): Vector3;
|
|
41
|
+
getWorldRotation(): Euler;
|
|
42
|
+
getWorldQuaternion(): Quaternion;
|
|
43
|
+
getWorldScale(): Vector3;
|
|
44
|
+
getWorldMatrix(): Matrix4;
|
|
45
|
+
setWorldMatrix(newMatrix: Matrix4): void;
|
|
46
|
+
getWorldForwardDirection(): Vector3;
|
|
47
|
+
getWorldUpDirection(): Vector3;
|
|
48
|
+
getWorldRightDirection(): Vector3;
|
|
49
|
+
worldToLocal(vec: Vector3): Vector3;
|
|
50
|
+
localToWorld(vec: Vector3): Vector3;
|
|
51
|
+
attachComponent(newComponent: SceneComponent): void;
|
|
52
|
+
detachComponent(target: SceneComponent): void;
|
|
53
|
+
addChildComponent(newComponent: SceneComponent, attachmentRule?: AttachmentRules): void;
|
|
54
|
+
removeChildComponent(targetComponent: SceneComponent): void;
|
|
55
|
+
detachFromParentComponent(): void;
|
|
56
|
+
detachFromParentActor(): void;
|
|
57
|
+
destroyChildren(): void;
|
|
58
|
+
set isHoverEnabled(bCanHorver: boolean);
|
|
59
|
+
get isHoverEnabled(): boolean;
|
|
60
|
+
set isClickEnabled(bCanClick: boolean);
|
|
61
|
+
get isClickEnabled(): boolean;
|
|
62
|
+
onHorveringBegin(): void;
|
|
63
|
+
onHorveringEnd(): void;
|
|
64
|
+
onClicked(): void;
|
|
65
|
+
onDoubleClicked(): void;
|
|
66
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Pawn } from "./Pawn";
|
|
2
|
+
import { Controller } from "../../Frame/Controller";
|
|
3
|
+
import { OrbitControls } from "three/examples/jsm/Addons.js";
|
|
4
|
+
export declare class Orbital extends Pawn {
|
|
5
|
+
get control(): OrbitControls;
|
|
6
|
+
protected _control: OrbitControls;
|
|
7
|
+
protected changeEvent: () => void;
|
|
8
|
+
constructor(controller: Controller);
|
|
9
|
+
possess(): void;
|
|
10
|
+
unpossess(): void;
|
|
11
|
+
onChange(): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Controller } from "../../Frame/Controller";
|
|
2
|
+
export declare abstract class Pawn {
|
|
3
|
+
get camera(): import("three").PerspectiveCamera | import("three").OrthographicCamera;
|
|
4
|
+
set enabled(value: boolean);
|
|
5
|
+
get control(): any;
|
|
6
|
+
protected _control: any | null;
|
|
7
|
+
protected controller: Controller;
|
|
8
|
+
protected isTickEnabled: boolean;
|
|
9
|
+
protected constructor(controller: Controller);
|
|
10
|
+
tick(deltaTime: number): void;
|
|
11
|
+
possess(): void;
|
|
12
|
+
unpossess(): void;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Pawn } from "./Pawn";
|
|
2
|
+
import { Matrix4 } from "three";
|
|
3
|
+
import { TransformControls } from "three/examples/jsm/controls/TransformControls.js";
|
|
4
|
+
import { Controller } from "../../Frame/Controller";
|
|
5
|
+
export interface TransformType {
|
|
6
|
+
rotate: "X" | "Y" | "Z" | "E" | "XY" | "YZ" | "XZ" | "XYZ" | "XYZE" | null;
|
|
7
|
+
scale: "X" | "Y" | "Z" | "E" | "XY" | "YZ" | "XZ" | "XYZ" | "XYZE" | null;
|
|
8
|
+
translate: "X" | "Y" | "Z" | "E" | "XY" | "YZ" | "XZ" | "XYZ" | "XYZE" | null;
|
|
9
|
+
}
|
|
10
|
+
export interface ITransforming {
|
|
11
|
+
isTransformAllowed(): boolean;
|
|
12
|
+
onTransforming(worldMatrix: Matrix4): void;
|
|
13
|
+
getMatrixInWorld(): Matrix4;
|
|
14
|
+
getAllowedTransformType(): TransformType;
|
|
15
|
+
}
|
|
16
|
+
export declare class TransformGizmo extends Pawn {
|
|
17
|
+
get control(): TransformControls;
|
|
18
|
+
protected _control: TransformControls | null;
|
|
19
|
+
private helperObject;
|
|
20
|
+
private targets;
|
|
21
|
+
private primaryTarget;
|
|
22
|
+
private targetMatrixMap;
|
|
23
|
+
protected onDraggingChangedEvent: (param: {
|
|
24
|
+
value: unknown;
|
|
25
|
+
}) => void;
|
|
26
|
+
protected onObjectChangeEvent: () => void;
|
|
27
|
+
protected onChangeEvent: () => void;
|
|
28
|
+
protected onUpdateFunctions: (() => void)[];
|
|
29
|
+
protected onDraggingFunctions: ((event: any) => void)[];
|
|
30
|
+
constructor(controller: Controller);
|
|
31
|
+
possess(): void;
|
|
32
|
+
unpossess(): void;
|
|
33
|
+
onChange(): void;
|
|
34
|
+
onDraggingChanged(event: {
|
|
35
|
+
value: any;
|
|
36
|
+
}): void;
|
|
37
|
+
onObjectChanged(): void;
|
|
38
|
+
set enable(newEnable: boolean);
|
|
39
|
+
setTarget(primaryTarget: ITransforming, multiTargets: ITransforming[], onUpdate?: (() => void) | null, onDragging?: ((bDragging: boolean) => void) | null): void;
|
|
40
|
+
getMode(): "translate" | "rotate" | "scale";
|
|
41
|
+
setMode(mode: "translate" | "rotate" | "scale"): void;
|
|
42
|
+
setSpace(space: "world" | "local"): void;
|
|
43
|
+
setAxis(axis: "X" | "Y" | "Z" | "E" | "XY" | "YZ" | "XZ" | "XYZ" | "XYZE" | null): void;
|
|
44
|
+
setSize(size: number): void;
|
|
45
|
+
destroy(): void;
|
|
46
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DenoiseParam } from './Denoise';
|
|
2
|
+
export interface GTAOParam {
|
|
3
|
+
distanceExponent: number;
|
|
4
|
+
distanceFallOff: number;
|
|
5
|
+
radius: number;
|
|
6
|
+
scale: number;
|
|
7
|
+
thickness: number;
|
|
8
|
+
denoised: boolean;
|
|
9
|
+
denoiseParam: DenoiseParam;
|
|
10
|
+
}
|
|
11
|
+
export declare const DefaultGTAOParam: GTAOParam;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ColorRepresentation } from "three";
|
|
2
|
+
export interface OutlineParams {
|
|
3
|
+
edgeStrength: number;
|
|
4
|
+
edgeGlow: number;
|
|
5
|
+
edgeThickness: number;
|
|
6
|
+
pulsePeriod: number;
|
|
7
|
+
visibleEdgeColor: ColorRepresentation;
|
|
8
|
+
hiddenEdgeColor: ColorRepresentation;
|
|
9
|
+
}
|
|
10
|
+
export declare const DefaultOutlineParams: {
|
|
11
|
+
edgeStrength: number;
|
|
12
|
+
edgeGlow: number;
|
|
13
|
+
edgeThickness: number;
|
|
14
|
+
pulsePeriod: number;
|
|
15
|
+
visibleEdgeColor: number;
|
|
16
|
+
hiddenEdgeColor: number;
|
|
17
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ToneMappingParams {
|
|
2
|
+
exposure: number;
|
|
3
|
+
toneMapping: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const DefaultToneMappingParams: {
|
|
6
|
+
exposure: number;
|
|
7
|
+
toneMapping: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const ToneMappingOptions: Map<string, 0 | 1 | 2 | 3 | 4 | 6 | 7>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SSRParam } from './Param/SSR';
|
|
2
|
+
import { GTAOParam } from "./Param/GTAO";
|
|
3
|
+
import { BloomParam } from "./Param/Bloom";
|
|
4
|
+
import { ToneMappingParams } from "./Param/ToneMapping";
|
|
5
|
+
import { DOFParam } from "./Param/DOF";
|
|
6
|
+
import { OutlineParams } from './Param/Outline';
|
|
7
|
+
export interface PostProcessParam {
|
|
8
|
+
toneMapping?: ToneMappingParams;
|
|
9
|
+
bloom?: BloomParam | null;
|
|
10
|
+
dof?: DOFParam | null;
|
|
11
|
+
ssr?: SSRParam | null;
|
|
12
|
+
gtao?: GTAOParam | null;
|
|
13
|
+
outline?: OutlineParams | null;
|
|
14
|
+
aa?: "fxaa" | "smaa" | null;
|
|
15
|
+
}
|
|
16
|
+
export declare const DefaultPostProcessParam: PostProcessParam;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { OutlineParams } from './Param/Outline';
|
|
2
|
+
import { Scene, Camera, Object3D } from "three";
|
|
3
|
+
import BloomNode from "three/examples/jsm/tsl/display/BloomNode.js";
|
|
4
|
+
import DenoiseNode from "three/examples/jsm/tsl/display/DenoiseNode.js";
|
|
5
|
+
import DepthOfFieldNode from "three/examples/jsm/tsl/display/DepthOfFieldNode.js";
|
|
6
|
+
import GTAONode from "three/examples/jsm/tsl/display/GTAONode.js";
|
|
7
|
+
import { ShaderNodeObject, NodeRepresentation } from "three/tsl";
|
|
8
|
+
import { PassNode, Node } from "three/webgpu";
|
|
9
|
+
import { BloomParam } from "./Param/Bloom";
|
|
10
|
+
import { DOFParam } from "./Param/DOF";
|
|
11
|
+
import { GTAOParam } from "./Param/GTAO";
|
|
12
|
+
import SSRNode from "three/examples/jsm/tsl/display/SSRNode.js";
|
|
13
|
+
import { SSRParam } from "./Param/SSR";
|
|
14
|
+
import { LensFlareParam } from "./Param/LensFlare";
|
|
15
|
+
import LensflareNode from "three/examples/jsm/tsl/display/LensflareNode.js";
|
|
16
|
+
import OutlineNode from "three/examples/jsm/tsl/display/OutlineNode.js";
|
|
17
|
+
import { MotionBlurParam } from './Param/MotionBlur';
|
|
18
|
+
import { DenoiseParam } from './Param/Denoise';
|
|
19
|
+
export declare class WebGPUPostProcessFactory {
|
|
20
|
+
static constructScenePass(scene: Scene, camera: Camera): ShaderNodeObject<PassNode>;
|
|
21
|
+
static updateScenePass(scenePass: ShaderNodeObject<PassNode>, outputNodes: {
|
|
22
|
+
[name: string]: Node;
|
|
23
|
+
}): void;
|
|
24
|
+
static constructBloomPass(scenePass: ShaderNodeObject<PassNode>, params: BloomParam): ShaderNodeObject<BloomNode>;
|
|
25
|
+
static updateBloomPass(bloomPass: ShaderNodeObject<BloomNode>, params: BloomParam): void;
|
|
26
|
+
static constructDOFPass(scenePass: ShaderNodeObject<PassNode>, params: DOFParam): ShaderNodeObject<DepthOfFieldNode>;
|
|
27
|
+
static updateDOFPass(dofPass: ShaderNodeObject<DepthOfFieldNode>, params: DOFParam): void;
|
|
28
|
+
static constructMotionBlurPass(lastNode: NodeRepresentation, scenePass: ShaderNodeObject<PassNode>, param: MotionBlurParam): ShaderNodeObject<Node>;
|
|
29
|
+
static constructSSRPass(scenePass: ShaderNodeObject<PassNode>, param: SSRParam): ShaderNodeObject<SSRNode>;
|
|
30
|
+
static updateSSRPass(ssrPass: ShaderNodeObject<SSRNode>, params: SSRParam): void;
|
|
31
|
+
static constructGTAOPass(scenePass: ShaderNodeObject<PassNode>, params: GTAOParam): ShaderNodeObject<GTAONode>;
|
|
32
|
+
static updateGTAOPass(gtaoPass: ShaderNodeObject<GTAONode>, params: GTAOParam): void;
|
|
33
|
+
static constructDenoisePass(scenePass: ShaderNodeObject<PassNode>, inputNode: NodeRepresentation, params: DenoiseParam): ShaderNodeObject<DenoiseNode>;
|
|
34
|
+
static updateDenoisePass(denoisePass: ShaderNodeObject<DenoiseNode>, params: DenoiseParam): void;
|
|
35
|
+
static constructGTAODenoisePass(scenePass: ShaderNodeObject<PassNode>, gtaoPass: ShaderNodeObject<GTAONode>, params: GTAOParam): ShaderNodeObject<DenoiseNode>;
|
|
36
|
+
static updateGTAODenoisePass(denoisePass: ShaderNodeObject<DenoiseNode>, params: GTAOParam): void;
|
|
37
|
+
static constructLensFlarePass(inputNode: NodeRepresentation, params: LensFlareParam): ShaderNodeObject<LensflareNode>;
|
|
38
|
+
static updateLensFlarPass(lensflarePass: ShaderNodeObject<LensflareNode>, params: LensFlareParam): void;
|
|
39
|
+
static constructOutlinePass(scene: Scene, camera: Camera, outlineObjects: Object3D[], param: OutlineParams): ShaderNodeObject<OutlineNode>;
|
|
40
|
+
static updateOutlinePass(outlinePass: ShaderNodeObject<OutlineNode>, outlineObjects: Object3D[], params: OutlineParams): void;
|
|
41
|
+
static constructFXAAPass(inputNode: NodeRepresentation): ShaderNodeObject<import("three/examples/jsm/tsl/display/FXAANode.js").default>;
|
|
42
|
+
static constructSMAAPass(inputNode: NodeRepresentation): ShaderNodeObject<import("three/examples/jsm/tsl/display/SMAANode.js").SMAANode>;
|
|
43
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brightness and contrast adjustment
|
|
3
|
+
* https://github.com/evanw/glfx.js
|
|
4
|
+
* brightness: -1 to 1 (-1 is solid black, 0 is no change, and 1 is solid white)
|
|
5
|
+
* contrast: -1 to 1 (-1 is solid gray, 0 is no change, and 1 is maximum contrast)
|
|
6
|
+
*/
|
|
7
|
+
declare const ColorShader: {
|
|
8
|
+
name: string;
|
|
9
|
+
uniforms: {
|
|
10
|
+
tDiffuse: {
|
|
11
|
+
value: null;
|
|
12
|
+
};
|
|
13
|
+
brightness: {
|
|
14
|
+
value: number;
|
|
15
|
+
};
|
|
16
|
+
contrast: {
|
|
17
|
+
value: number;
|
|
18
|
+
};
|
|
19
|
+
saturation: {
|
|
20
|
+
value: number;
|
|
21
|
+
};
|
|
22
|
+
exposure: {
|
|
23
|
+
value: number;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
vertexShader: string;
|
|
27
|
+
fragmentShader: string;
|
|
28
|
+
};
|
|
29
|
+
export { ColorShader };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PostProcessParam } from './PostProcess/PostProcessParam';
|
|
2
|
+
import { World } from "./Frame/World";
|
|
3
|
+
import { Viewport } from "./Frame/Viewport";
|
|
4
|
+
import { Controller } from "./Frame/Controller";
|
|
5
|
+
import { Clock, OrthographicCamera, PerspectiveCamera } from "three";
|
|
6
|
+
import { CameraParam } from "./Factory/CameraFactory";
|
|
7
|
+
import { WebGPURendererParameters } from 'three/src/renderers/webgpu/WebGPURenderer.js';
|
|
8
|
+
export interface AppParam {
|
|
9
|
+
renderParam?: WebGPURendererParameters;
|
|
10
|
+
cameraParam?: CameraParam;
|
|
11
|
+
postProcessParam?: PostProcessParam;
|
|
12
|
+
}
|
|
13
|
+
export declare const DefaultRenderParam: WebGPURendererParameters;
|
|
14
|
+
export declare const DefaultCameraParam: CameraParam;
|
|
15
|
+
export declare const DefaultAppParam: AppParam;
|
|
16
|
+
export declare class ThreeJsApp {
|
|
17
|
+
get camera(): PerspectiveCamera | OrthographicCamera;
|
|
18
|
+
get clock(): Clock;
|
|
19
|
+
get world(): World;
|
|
20
|
+
get viewport(): Viewport;
|
|
21
|
+
get controller(): Controller;
|
|
22
|
+
get worldClass(): typeof World;
|
|
23
|
+
get viewportClass(): typeof Viewport;
|
|
24
|
+
get controllerClass(): typeof Controller;
|
|
25
|
+
protected _clock: Clock;
|
|
26
|
+
protected _camera: PerspectiveCamera | OrthographicCamera;
|
|
27
|
+
protected _world: World;
|
|
28
|
+
protected _viewport: Viewport;
|
|
29
|
+
protected _controller: Controller;
|
|
30
|
+
constructor(elementId: string, appParam?: AppParam);
|
|
31
|
+
init(): void;
|
|
32
|
+
tick(): void;
|
|
33
|
+
onWindowResize(width: number, height: number): void;
|
|
34
|
+
destroy(): void;
|
|
35
|
+
}
|
package/package.json
CHANGED
|
@@ -1,21 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lythreeframe",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
5
|
-
"main": "
|
|
3
|
+
"version": "1.0.6",
|
|
4
|
+
"description": "Three.js 封装",
|
|
5
|
+
"main": "dist/bundle.cjs.js",
|
|
6
|
+
"module": "dist/bundle.esm.js",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
6
9
|
"scripts": {
|
|
7
|
-
"
|
|
10
|
+
"build": "rollup -c",
|
|
11
|
+
"prepublishOnly": "npm run build"
|
|
8
12
|
},
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"three": "^0.173.0"
|
|
13
|
+
"peerDependencies": {
|
|
14
|
+
"gsap": "^3.12.2",
|
|
15
|
+
"three": "^0.173.0",
|
|
16
|
+
"@types/three": "^0.173.0"
|
|
13
17
|
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
14
21
|
"devDependencies": {
|
|
15
|
-
"@
|
|
16
|
-
"
|
|
17
|
-
"
|
|
22
|
+
"@rollup/plugin-typescript": "^12.1.2",
|
|
23
|
+
"@types/three": "^0.173.0",
|
|
24
|
+
"gsap": "3.12.2",
|
|
25
|
+
"rollup": "^4.35.0",
|
|
26
|
+
"three": "0.173.0",
|
|
27
|
+
"tslib": "^2.8.1",
|
|
28
|
+
"typescript": "^5.8.2"
|
|
18
29
|
},
|
|
19
|
-
"
|
|
20
|
-
|
|
30
|
+
"keywords": [
|
|
31
|
+
"three.js",
|
|
32
|
+
"webgl",
|
|
33
|
+
"3d",
|
|
34
|
+
"graphics",
|
|
35
|
+
"webgpu"
|
|
36
|
+
],
|
|
37
|
+
"author": "notimportant",
|
|
38
|
+
"license": "MIT"
|
|
21
39
|
}
|
package/index.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// Loading functionality
|
|
2
|
-
export {LYLoadTask} from "./src/AssetManagement/Task/Task";
|
|
3
|
-
export {LYAssetManager} from "./src/AssetManagement/AssetManager";
|
|
4
|
-
|
|
5
|
-
// Tools
|
|
6
|
-
export {LYMaterialLibrary} from "./src/Library/MaterialLibrary";
|
|
7
|
-
export {AttachmentRules} from "./src/Defines";
|
|
8
|
-
export {Delegate} from "./src/Delegate";
|
|
9
|
-
|
|
10
|
-
// Frame
|
|
11
|
-
export {ThreeJsApp} from "./src/ThreeJsApp";
|
|
12
|
-
export {Controller} from "./src/Frame/Controller";
|
|
13
|
-
export {Viewport} from "./src/Frame/Viewport";
|
|
14
|
-
export {World} from "./src/Frame/World";
|
|
15
|
-
|
|
16
|
-
// Actors
|
|
17
|
-
export {Actor} from "./src/Object/Actor";
|
|
18
|
-
export {DirectionalLightActor} from "./src/Object/Actors/Light/DirectionalLightActor";
|
|
19
|
-
export {BoxActor} from "./src/Object/Actors/Shape/BoxActor";
|
|
20
|
-
export {PlaneActor} from "./src/Object/Actors/Shape/PlaneActor";
|
|
21
|
-
|
|
22
|
-
// Post process
|
|
23
|
-
export {WebGPUPostProcessFactory} from "./src/PostProcess/WebGPUPostProcessFactory"
|
|
24
|
-
export {PostProcessParam, DefaultPostProcessParam} from "./src/PostProcess/PostProcessParam"
|
|
25
|
-
export {BloomParam, DefaultBloomParam} from "./src/PostProcess/Param/Bloom"
|
|
26
|
-
export {DenoiseParam, DefaultDenoiseParam} from "./src/PostProcess/Param/Denoise"
|
|
27
|
-
export {DOFParam, DefaultDOFParam} from "./src/PostProcess/Param/DOF"
|
|
28
|
-
export {GTAOParam, DefaultGTAOParam} from "./src/PostProcess/Param/GTAO"
|
|
29
|
-
export {OutlineParams, DefaultOutlineParams} from "./src/PostProcess/Param/Outline"
|
|
30
|
-
export {SSRParam, DefaultSSRParam} from "./src/PostProcess/Param/SSR"
|
|
31
|
-
export {ToneMappingParams, DefaultToneMappingParams,ToneMappingOptions} from "./src/PostProcess/Param/ToneMapping"
|
|
32
|
-
// Components
|
|
33
|
-
export {SceneComponent} from "./src/Object/Components/SceneComponent";
|
|
34
|
-
export {MeshComponent} from "./src/Object/Components/Mesh/MeshComponent";
|
|
35
|
-
export {BoxComponent} from "./src/Object/Components/Mesh/Shape/BoxComponent";
|
|
36
|
-
export {PlaneComponent} from "./src/Object/Components/Mesh/Shape/PlaneComponent";
|
|
37
|
-
export {SphereComponent} from "./src/Object/Components/Mesh/Shape/SphereComponent";
|
|
38
|
-
|
|
39
|
-
export {DirectionalLightComponent} from "./src/Object/Components/Light/DirectionalLight/DirectionalLightComponent";
|
|
40
|
-
export {LabelComponent} from "./src/Object/Components/2D/2DComponent";
|
|
41
|
-
|
|
42
|
-
// Pawn
|
|
43
|
-
export {Orbital} from "./src/Object/PawnV2/Oribital";
|
|
44
|
-
export {FirstPerson} from "./src/Object/PawnV2/FirstPerson";
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// Shader
|
|
48
|
-
export {ColorShader} from "./src/Shader/Postprocess/ColorShader";
|