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.
Files changed (126) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +3 -0
  3. package/dist/bundle.cjs.js +2646 -0
  4. package/dist/bundle.esm.js +2612 -0
  5. package/dist/index.d.ts +40 -0
  6. package/dist/lythreeframe/AssetManagement/AssetDefines.d.ts +6 -0
  7. package/dist/lythreeframe/AssetManagement/AssetManager.d.ts +23 -0
  8. package/dist/lythreeframe/AssetManagement/AssetPointer/AssetPointer.d.ts +9 -0
  9. package/dist/lythreeframe/AssetManagement/Task/Task.d.ts +7 -0
  10. package/dist/lythreeframe/Container/SmartPointer.d.ts +10 -0
  11. package/dist/lythreeframe/Defines.d.ts +4 -0
  12. package/dist/lythreeframe/Delegate.d.ts +8 -0
  13. package/dist/lythreeframe/Factory/CameraFactory.d.ts +20 -0
  14. package/dist/lythreeframe/Factory/RendererFactory.d.ts +2 -0
  15. package/dist/lythreeframe/Frame/Controller.d.ts +40 -0
  16. package/dist/lythreeframe/Frame/Viewport.d.ts +50 -0
  17. package/dist/lythreeframe/Frame/World.d.ts +18 -0
  18. package/dist/lythreeframe/Geometry/PlaneGeometry.d.ts +3 -0
  19. package/dist/lythreeframe/Geometry/TriangleGeometry.d.ts +3 -0
  20. package/dist/lythreeframe/Library/ContainerLibrary.d.ts +3 -0
  21. package/dist/lythreeframe/Library/Math.d.ts +27 -0
  22. package/dist/lythreeframe/Library/ResourceLibrary.d.ts +6 -0
  23. package/dist/lythreeframe/Object/Actor.d.ts +86 -0
  24. package/dist/lythreeframe/Object/Actors/Camera/CameraActor.d.ts +4 -0
  25. package/dist/lythreeframe/Object/Actors/Light/DirectionalLightActor.d.ts +7 -0
  26. package/dist/lythreeframe/Object/Actors/Shape/BoxActor.d.ts +5 -0
  27. package/dist/lythreeframe/Object/Actors/Shape/PlaneActor.d.ts +9 -0
  28. package/dist/lythreeframe/Object/BaseObject.d.ts +10 -0
  29. package/dist/lythreeframe/Object/Components/2D/2DComponent.d.ts +13 -0
  30. package/dist/lythreeframe/Object/Components/Camera/CameraComponent.d.ts +26 -0
  31. package/dist/lythreeframe/Object/Components/Component.d.ts +17 -0
  32. package/dist/lythreeframe/Object/Components/Light/DirectionalLight/DirectionalLightComponent.d.ts +15 -0
  33. package/dist/lythreeframe/Object/Components/Light/LightComponent.d.ts +12 -0
  34. package/dist/lythreeframe/Object/Components/Mesh/InstanceMesh/InstanceMeshComponent.d.ts +7 -0
  35. package/dist/lythreeframe/Object/Components/Mesh/InstanceMesh/MultiInstanceMeshComponent.d.ts +13 -0
  36. package/dist/lythreeframe/Object/Components/Mesh/MeshComponent.d.ts +22 -0
  37. package/dist/lythreeframe/Object/Components/Mesh/Shape/BoxComponent.d.ts +5 -0
  38. package/dist/lythreeframe/Object/Components/Mesh/Shape/PlaneComponent.d.ts +5 -0
  39. package/dist/lythreeframe/Object/Components/Mesh/Shape/SphereComponent.d.ts +5 -0
  40. package/dist/lythreeframe/Object/Components/Mesh/Sprite/SpriteComponent.d.ts +8 -0
  41. package/dist/lythreeframe/Object/Components/SceneComponent.d.ts +66 -0
  42. package/dist/lythreeframe/Object/PawnV2/FirstPerson.d.ts +5 -0
  43. package/dist/lythreeframe/Object/PawnV2/Oribital.d.ts +12 -0
  44. package/dist/lythreeframe/Object/PawnV2/Pawn.d.ts +14 -0
  45. package/dist/lythreeframe/Object/PawnV2/TransformControl.d.ts +46 -0
  46. package/dist/lythreeframe/PostProcess/Param/Bloom.d.ts +6 -0
  47. package/dist/lythreeframe/PostProcess/Param/DOF.d.ts +6 -0
  48. package/dist/lythreeframe/PostProcess/Param/Denoise.d.ts +7 -0
  49. package/dist/lythreeframe/PostProcess/Param/GTAO.d.ts +11 -0
  50. package/dist/lythreeframe/PostProcess/Param/LensFlare.d.ts +6 -0
  51. package/dist/lythreeframe/PostProcess/Param/MotionBlur.d.ts +4 -0
  52. package/dist/lythreeframe/PostProcess/Param/Outline.d.ts +17 -0
  53. package/dist/lythreeframe/PostProcess/Param/SSR.d.ts +6 -0
  54. package/dist/lythreeframe/PostProcess/Param/ToneMapping.d.ts +9 -0
  55. package/dist/lythreeframe/PostProcess/PostProcessParam.d.ts +16 -0
  56. package/dist/lythreeframe/PostProcess/WebGPUPostProcessFactory.d.ts +43 -0
  57. package/dist/lythreeframe/Shader/Postprocess/ColorShader.d.ts +29 -0
  58. package/dist/lythreeframe/ThreeJsApp.d.ts +35 -0
  59. package/package.json +31 -13
  60. package/index.js +0 -48
  61. package/src/AssetManagement/AssetDefines.ts +0 -8
  62. package/src/AssetManagement/AssetManager.ts +0 -286
  63. package/src/AssetManagement/AssetPointer/AssetPointer.ts +0 -41
  64. package/src/AssetManagement/Task/Task.ts +0 -24
  65. package/src/Container/SmartPointer.ts +0 -54
  66. package/src/Defines.ts +0 -11
  67. package/src/Delegate.ts +0 -37
  68. package/src/Factory/CameraFactory.ts +0 -81
  69. package/src/Factory/RendererFactory.ts +0 -7
  70. package/src/Frame/Controller.ts +0 -261
  71. package/src/Frame/Viewport.ts +0 -516
  72. package/src/Frame/World.ts +0 -59
  73. package/src/Frame.ts +0 -511
  74. package/src/Geometry/PlaneGeometry.ts +0 -53
  75. package/src/Geometry/TriangleGeometry.ts +0 -50
  76. package/src/Library/ContainerLibrary.ts +0 -21
  77. package/src/Library/MaterialLibrary.ts +0 -288
  78. package/src/Library/Math.ts +0 -154
  79. package/src/Library/ResourceLibrary.ts +0 -21
  80. package/src/Object/Actor.ts +0 -571
  81. package/src/Object/Actors/Camera/CameraActor.ts +0 -11
  82. package/src/Object/Actors/Light/DirectionalLightActor.ts +0 -18
  83. package/src/Object/Actors/Shape/BoxActor.ts +0 -20
  84. package/src/Object/Actors/Shape/CurveActor.ts +0 -11
  85. package/src/Object/Actors/Shape/PlaneActor.ts +0 -27
  86. package/src/Object/Actors/Shape/TubeActor.ts +0 -37
  87. package/src/Object/BaseObject.ts +0 -45
  88. package/src/Object/Components/2D/2DComponent.ts +0 -64
  89. package/src/Object/Components/Camera/CameraComponent.ts +0 -113
  90. package/src/Object/Components/Component.ts +0 -67
  91. package/src/Object/Components/Light/DirectionalLight/DirectionalLightComponent.ts +0 -78
  92. package/src/Object/Components/Light/LightComponent.ts +0 -54
  93. package/src/Object/Components/Mesh/InstanceMesh/InstanceMeshComponent.ts +0 -39
  94. package/src/Object/Components/Mesh/InstanceMesh/MultiInstanceMeshComponent.ts +0 -115
  95. package/src/Object/Components/Mesh/Line/CurveComponent.ts +0 -221
  96. package/src/Object/Components/Mesh/MeshComponent.ts +0 -162
  97. package/src/Object/Components/Mesh/Shape/BoxComponent.ts +0 -17
  98. package/src/Object/Components/Mesh/Shape/PlaneComponent.ts +0 -10
  99. package/src/Object/Components/Mesh/Shape/SphereComponent.ts +0 -10
  100. package/src/Object/Components/Mesh/Sprite/SpriteComponent.ts +0 -32
  101. package/src/Object/Components/SceneComponent.ts +0 -809
  102. package/src/Object/Controller/Controller.ts +0 -764
  103. package/src/Object/Pawn/CameraStatus.ts +0 -262
  104. package/src/Object/Pawn/FirstPerson.ts +0 -230
  105. package/src/Object/Pawn/Oribital.ts +0 -276
  106. package/src/Object/Pawn/PawnBase.ts +0 -189
  107. package/src/Object/Pawn/TopView.ts +0 -205
  108. package/src/Object/Pawn/TransformControl.ts +0 -215
  109. package/src/Object/Pawn/staticCamera.ts +0 -80
  110. package/src/Object/PawnV2/FirstPerson.ts +0 -12
  111. package/src/Object/PawnV2/Oribital.ts +0 -45
  112. package/src/Object/PawnV2/Pawn.ts +0 -50
  113. package/src/Object/PawnV2/TransformControl.ts +0 -201
  114. package/src/PostProcess/Param/Bloom.ts +0 -12
  115. package/src/PostProcess/Param/DOF.ts +0 -14
  116. package/src/PostProcess/Param/Denoise.ts +0 -14
  117. package/src/PostProcess/Param/GTAO.ts +0 -21
  118. package/src/PostProcess/Param/LensFlare.ts +0 -11
  119. package/src/PostProcess/Param/MotionBlur.ts +0 -8
  120. package/src/PostProcess/Param/Outline.ts +0 -20
  121. package/src/PostProcess/Param/SSR.ts +0 -11
  122. package/src/PostProcess/Param/ToneMapping.ts +0 -31
  123. package/src/PostProcess/PostProcessParam.ts +0 -26
  124. package/src/PostProcess/WebGPUPostProcessFactory.ts +0 -217
  125. package/src/Shader/Postprocess/ColorShader.ts +0 -49
  126. 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,5 @@
1
+ import { Pawn } from "./Pawn";
2
+ import { Controller } from "../../Frame/Controller";
3
+ export declare class FirstPerson extends Pawn {
4
+ constructor(controller: Controller);
5
+ }
@@ -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,6 @@
1
+ export interface BloomParam {
2
+ threshold: number;
3
+ strength: number;
4
+ radius: number;
5
+ }
6
+ export declare const DefaultBloomParam: BloomParam;
@@ -0,0 +1,6 @@
1
+ export interface DOFParam {
2
+ focus: number;
3
+ aperture: number;
4
+ maxblur: number;
5
+ }
6
+ export declare const DefaultDOFParam: DOFParam;
@@ -0,0 +1,7 @@
1
+ export interface DenoiseParam {
2
+ denoiseRadius: number;
3
+ lumaPhi: number;
4
+ depthPhi: number;
5
+ normalPhi: number;
6
+ }
7
+ export declare const DefaultDenoiseParam: DenoiseParam;
@@ -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,6 @@
1
+ export interface LensFlareParam {
2
+ threshold: number;
3
+ ghostSpacing: number;
4
+ ghostAttenuationFactor: number;
5
+ }
6
+ export declare const DefaultLensFlareParam: LensFlareParam;
@@ -0,0 +1,4 @@
1
+ export interface MotionBlurParam {
2
+ blurAmount: number;
3
+ }
4
+ export declare const DefaultMotionBlurParam: MotionBlurParam;
@@ -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,6 @@
1
+ export interface SSRParam {
2
+ maxDistance: number;
3
+ opacity: number;
4
+ thickness: number;
5
+ }
6
+ export declare const DefaultSSRParam: SSRParam;
@@ -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.2",
4
- "description": "my custom three ",
5
- "main": "index.js",
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
- "test": "echo \"Error: no test specified\" && exit 1"
10
+ "build": "rollup -c",
11
+ "prepublishOnly": "npm run build"
8
12
  },
9
- "dependencies": {
10
- "@types/three": "^0.173.0",
11
- "gsap": "^3.12.7",
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
- "@types/node": "^22.13.8",
16
- "globals": "^16.0.0",
17
- "typescript": "~5.6.2"
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
- "author": "noegip",
20
- "license": "ISC"
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";
@@ -1,8 +0,0 @@
1
- export enum AssetType
2
- {
3
- geometry = 1,
4
- material = 2,
5
- texture = 3,
6
- undefined = -1
7
- }
8
-