lythreeframe 1.2.21 → 1.2.23

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.
@@ -1,13 +1,7 @@
1
1
  import { Object3D } from 'three/src/Three.WebGPU.Nodes.js';
2
2
  import { ShadowMapType, ToneMapping, WebGPURenderer } from "three/webgpu";
3
- import { AAParams } from "../PostProcess/Param/AAParam";
4
- import { BloomParam } from "../PostProcess/Param/Bloom";
5
- import { DOFParam } from '../PostProcess/Param/DOF';
6
- import { GTAOParam } from "../PostProcess/Param/GTAO";
7
- import { OutlineParams } from '../PostProcess/Param/Outline';
8
- import { SSRParam } from "../PostProcess/Param/SSR";
9
3
  import { ThreeJsApp } from "../ThreeJsApp";
10
- import { PostProcessParam } from './../PostProcess/PostProcessParam';
4
+ import { PostProcessParam, PostProcessStepParam } from './../PostProcess/PostProcessParam';
11
5
  import { RendererParameters } from './Parameters/RendererParameters';
12
6
  import { ViewportParam } from './Parameters/ViewportParameters';
13
7
  export declare class Viewport {
@@ -22,25 +16,11 @@ export declare class Viewport {
22
16
  private isRenderStateDirty;
23
17
  private postProcessParam;
24
18
  private postProcessing;
25
- private scenePass;
26
- private bloomPass;
27
- private dofPass;
28
- private GTAOPass;
29
- private denoiseGTAOPass;
30
- private ssrPass;
31
- private outlinePass;
32
- private fxaaPass;
33
- private smaaPass;
34
19
  private outlineObjects;
35
20
  constructor(app: ThreeJsApp, viewportParam: ViewportParam, rendererParam: RendererParameters, postProcessParam: PostProcessParam);
36
21
  init(): void;
37
22
  setupPostProcess(): void;
38
- updateBloomPass(params: BloomParam): void;
39
- updateGTAOParam(params: GTAOParam): void;
40
- updateDOFParam(params: DOFParam): void;
41
- updateSSRParam(params: SSRParam): void;
42
- updateOutlineParam(params: OutlineParams): void;
43
- updateAAParam(params: AAParams): void;
23
+ updatePostProcess(steps: PostProcessStepParam[]): void;
44
24
  addOutlineObject(obj: Object3D): void;
45
25
  setOutlineObjects(objects: Object3D[]): void;
46
26
  removeOutlineObject(obj: Object3D): void;
@@ -1,5 +1,6 @@
1
- export interface AAParams {
2
- isEnabled: boolean;
3
- type: "fxaa" | "smaa";
1
+ import { PostProcessStepParam, PostProcessStepType } from "../PostProcessParam";
2
+ export interface AAParams extends PostProcessStepParam {
3
+ type: PostProcessStepType.Antialiasing;
4
+ method: "fxaa" | "smaa";
4
5
  }
5
6
  export declare const DefaultAAParams: AAParams;
@@ -1,5 +1,6 @@
1
- export interface BloomParam {
2
- isEnabled: boolean;
1
+ import { PostProcessStepParam, PostProcessStepType } from "../PostProcessParam";
2
+ export interface BloomParam extends PostProcessStepParam {
3
+ type: PostProcessStepType.Bloom;
3
4
  threshold: number;
4
5
  strength: number;
5
6
  radius: number;
@@ -1,5 +1,6 @@
1
- export interface DOFParam {
2
- isEnabled: boolean;
1
+ import { PostProcessStepParam, PostProcessStepType } from "../PostProcessParam";
2
+ export interface DOFParam extends PostProcessStepParam {
3
+ type: PostProcessStepType.DepthOfField;
3
4
  focus: number;
4
5
  aperture: number;
5
6
  maxblur: number;
@@ -1,6 +1,13 @@
1
- import { DenoiseParam } from './Denoise';
2
- export interface GTAOParam {
3
- isEnabled: boolean;
1
+ import { PostProcessStepParam, PostProcessStepType } from "../PostProcessParam";
2
+ export interface DenoiseParam {
3
+ denoiseRadius: number;
4
+ lumaPhi: number;
5
+ depthPhi: number;
6
+ normalPhi: number;
7
+ }
8
+ export declare const DefaultDenoiseParam: DenoiseParam;
9
+ export interface GTAOParam extends PostProcessStepParam {
10
+ type: PostProcessStepType.GroundTruthAmbientOcclusion;
4
11
  distanceExponent: number;
5
12
  distanceFallOff: number;
6
13
  radius: number;
@@ -1,6 +1,7 @@
1
1
  import { ColorRepresentation } from "three/webgpu";
2
- export interface OutlineParams {
3
- isEnabled: boolean;
2
+ import { PostProcessStepParam, PostProcessStepType } from "../PostProcessParam";
3
+ export interface OutlineParams extends PostProcessStepParam {
4
+ type: PostProcessStepType.Outline;
4
5
  edgeStrength: number;
5
6
  edgeGlow: number;
6
7
  edgeThickness: number;
@@ -1,5 +1,6 @@
1
- export interface SSRParam {
2
- isEnabled: boolean;
1
+ import { PostProcessStepParam, PostProcessStepType } from "../PostProcessParam";
2
+ export interface SSRParam extends PostProcessStepParam {
3
+ type: PostProcessStepType.ScreenSpaceReflection;
3
4
  maxDistance: number;
4
5
  opacity: number;
5
6
  thickness: number;
@@ -1,15 +1,15 @@
1
- import { SSRParam } from './Param/SSR';
2
- import { GTAOParam } from "./Param/GTAO";
3
- import { BloomParam } from "./Param/Bloom";
4
- import { DOFParam } from "./Param/DOF";
5
- import { OutlineParams } from './Param/Outline';
6
- import { AAParams } from './Param/AAParam';
7
1
  export interface PostProcessParam {
8
- bloom: BloomParam;
9
- dof: DOFParam;
10
- ssr: SSRParam;
11
- gtao: GTAOParam;
12
- outline: OutlineParams;
13
- aa: AAParams;
2
+ steps: PostProcessStepParam[];
14
3
  }
15
4
  export declare const DefaultPostProcessParam: PostProcessParam;
5
+ export declare enum PostProcessStepType {
6
+ Bloom = 0,
7
+ DepthOfField = 1,
8
+ ScreenSpaceReflection = 2,
9
+ GroundTruthAmbientOcclusion = 3,
10
+ Outline = 4,
11
+ Antialiasing = 5
12
+ }
13
+ export interface PostProcessStepParam {
14
+ type: PostProcessStepType;
15
+ }
@@ -1,21 +1,17 @@
1
1
  import { OutlineParams } from './Param/Outline';
2
- import { Scene, Camera, Object3D } from "three/webgpu";
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";
2
+ import { Scene, Camera, Object3D, PassNode, Node } from "three/webgpu";
9
3
  import { BloomParam } from "./Param/Bloom";
10
4
  import { DOFParam } from "./Param/DOF";
11
5
  import { GTAOParam } from "./Param/GTAO";
12
- import SSRNode from "three/examples/jsm/tsl/display/SSRNode.js";
13
6
  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';
7
+ import { DenoiseParam } from './Param/GTAO';
8
+ import { ShaderNodeObject, NodeRepresentation } from 'three/tsl';
9
+ import DepthOfFieldNode from 'three/addons/tsl/display/DepthOfFieldNode.js';
10
+ import BloomNode from 'three/examples/jsm/tsl/display/BloomNode.js';
11
+ import DenoiseNode from 'three/examples/jsm/tsl/display/DenoiseNode.js';
12
+ import GTAONode from 'three/examples/jsm/tsl/display/GTAONode.js';
13
+ import OutlineNode from 'three/examples/jsm/tsl/display/OutlineNode.js';
14
+ import SSRNode from 'three/examples/jsm/tsl/display/SSRNode.js';
19
15
  export declare class WebGPUPostProcessFactory {
20
16
  static constructScenePass(scene: Scene, camera: Camera): ShaderNodeObject<PassNode>;
21
17
  static updateScenePass(scenePass: ShaderNodeObject<PassNode>, outputNodes: {
@@ -25,7 +21,6 @@ export declare class WebGPUPostProcessFactory {
25
21
  static updateBloomPass(bloomPass: ShaderNodeObject<BloomNode>, params: BloomParam): void;
26
22
  static constructDOFPass(scenePass: ShaderNodeObject<PassNode>, params: DOFParam): ShaderNodeObject<DepthOfFieldNode>;
27
23
  static updateDOFPass(dofPass: ShaderNodeObject<DepthOfFieldNode>, params: DOFParam): void;
28
- static constructMotionBlurPass(lastNode: NodeRepresentation, scenePass: ShaderNodeObject<PassNode>, param: MotionBlurParam): ShaderNodeObject<Node>;
29
24
  static constructSSRPass(scenePass: ShaderNodeObject<PassNode>, param: SSRParam): ShaderNodeObject<SSRNode>;
30
25
  static updateSSRPass(ssrPass: ShaderNodeObject<SSRNode>, params: SSRParam): void;
31
26
  static constructGTAOPass(scenePass: ShaderNodeObject<PassNode>, params: GTAOParam): ShaderNodeObject<GTAONode>;
@@ -34,8 +29,6 @@ export declare class WebGPUPostProcessFactory {
34
29
  static updateDenoisePass(denoisePass: ShaderNodeObject<DenoiseNode>, params: DenoiseParam): void;
35
30
  static constructGTAODenoisePass(scenePass: ShaderNodeObject<PassNode>, gtaoPass: ShaderNodeObject<GTAONode>, params: GTAOParam): ShaderNodeObject<DenoiseNode>;
36
31
  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
32
  static constructOutlinePass(scene: Scene, camera: Camera, outlineObjects: Object3D[], param: OutlineParams): ShaderNodeObject<OutlineNode>;
40
33
  static updateOutlinePass(outlinePass: ShaderNodeObject<OutlineNode>, outlineObjects: Object3D[], params: OutlineParams): void;
41
34
  static constructFXAAPass(inputNode: NodeRepresentation): ShaderNodeObject<import("three/examples/jsm/tsl/display/FXAANode.js").default>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lythreeframe",
3
- "version": "1.2.21",
3
+ "version": "1.2.23",
4
4
  "description": "Three.js 封装",
5
5
  "main": "dist/bundle.cjs.js",
6
6
  "module": "dist/bundle.esm.js",
@@ -13,7 +13,7 @@
13
13
  "peerDependencies": {
14
14
  "@types/three": "^0.175.0",
15
15
  "gsap": "^3.12.2",
16
- "three": "^0.175.0"
16
+ "three": "^0.177.0"
17
17
  },
18
18
  "files": [
19
19
  "dist"
@@ -23,7 +23,7 @@
23
23
  "@types/three": "^0.175.0",
24
24
  "gsap": "^3.12.2",
25
25
  "rollup": "^4.35.0",
26
- "three": "^0.175.0",
26
+ "three": "^0.177.0",
27
27
  "tslib": "^2.8.1",
28
28
  "typescript": "^5.8.2"
29
29
  },
@@ -1,7 +0,0 @@
1
- export interface DenoiseParam {
2
- denoiseRadius: number;
3
- lumaPhi: number;
4
- depthPhi: number;
5
- normalPhi: number;
6
- }
7
- export declare const DefaultDenoiseParam: DenoiseParam;