lythreeframe 1.2.13 → 1.2.15

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.
@@ -1522,7 +1522,7 @@ class Viewport {
1522
1522
  }
1523
1523
  return this._app;
1524
1524
  }
1525
- constructor(app, viewportParam, rendererParam = { antialias: true }, postProcessParam = {}) {
1525
+ constructor(app, viewportParam, rendererParam, postProcessParam = {}) {
1526
1526
  this._renderer = null;
1527
1527
  this.labelRenderer = null;
1528
1528
  this._app = null;
@@ -1554,10 +1554,22 @@ class Viewport {
1554
1554
  }
1555
1555
  let width = element ? element.clientWidth : 512;
1556
1556
  let height = element ? element.clientHeight : 512;
1557
- this._renderer = new webgpu.WebGPURenderer(rendererParam);
1557
+ let renderP = {};
1558
+ renderP.forceWebGL = rendererParam.forceWebGL;
1559
+ renderP.antialias = rendererParam.antialias;
1560
+ renderP.depth = rendererParam.depth;
1561
+ renderP.stencil = rendererParam.stencil;
1562
+ renderP.alpha = rendererParam.alpha;
1563
+ renderP.logarithmicDepthBuffer = rendererParam.logarithmicDepthBuffer;
1564
+ renderP.samples = rendererParam.samples;
1565
+ renderP.colorBufferType = rendererParam.colorBufferType;
1566
+ this._renderer = new webgpu.WebGPURenderer(renderP);
1558
1567
  this._renderer.setPixelRatio(window.devicePixelRatio);
1559
1568
  this._renderer.setSize(width, height);
1560
- this._renderer.shadowMap.enabled = true;
1569
+ this._renderer.shadowMap.enabled = rendererParam.shadowMapEnabled;
1570
+ this._renderer.shadowMap.type = rendererParam.shadowMapType;
1571
+ this._renderer.toneMapping = rendererParam.toneMapping;
1572
+ this._renderer.toneMappingExposure = rendererParam.toneMappingExposure;
1561
1573
  if (viewportParam.isLabelRendererNeeded) {
1562
1574
  this.labelRenderer = new Addons_js.CSS2DRenderer();
1563
1575
  this.labelRenderer.setSize(width, height);
@@ -2307,11 +2319,23 @@ const DefaultViewportParam = {
2307
2319
  isLabelRendererNeeded: false
2308
2320
  };
2309
2321
 
2310
- const DefaultRenderParam = {
2311
- antialias: true,
2322
+ const DefaultRendererParameters = {
2323
+ logarithmicDepthBuffer: false,
2324
+ alpha: false,
2325
+ depth: true,
2326
+ stencil: false,
2327
+ antialias: false,
2328
+ samples: 4,
2329
+ forceWebGL: false,
2330
+ colorBufferType: undefined,
2331
+ toneMapping: 0,
2332
+ toneMappingExposure: 1,
2333
+ shadowMapEnabled: true,
2334
+ shadowMapType: 1,
2312
2335
  };
2336
+
2313
2337
  const DefaultAppParam = {
2314
- renderParam: DefaultRenderParam,
2338
+ renderParam: DefaultRendererParameters,
2315
2339
  cameraParam: DefaultCameraParam,
2316
2340
  postProcessParam: DefaultPostProcessParam,
2317
2341
  viewportParam: DefaultViewportParam,
@@ -2812,7 +2836,7 @@ class ThreeJsApp {
2812
2836
  this._appParam = { viewportParam: DefaultViewportParam };
2813
2837
  this._onCameraChangedDelegate = new Delegate();
2814
2838
  this._appParam.cameraParam = appParam.cameraParam ? appParam.cameraParam : DefaultCameraParam;
2815
- this._appParam.renderParam = appParam.renderParam ? appParam.renderParam : DefaultRenderParam;
2839
+ this._appParam.renderParam = appParam.renderParam ? appParam.renderParam : DefaultRendererParameters;
2816
2840
  this._appParam.postProcessParam = appParam.postProcessParam ? appParam.postProcessParam : DefaultPostProcessParam;
2817
2841
  this._appParam.viewportParam = appParam.viewportParam ? appParam.viewportParam : DefaultViewportParam;
2818
2842
  this._appParam.classes = appParam.classes ? appParam.classes : {
@@ -2847,8 +2871,8 @@ class ThreeJsApp {
2847
2871
  }
2848
2872
  destroy() {
2849
2873
  this.onCameraChangedDelegate.clear();
2850
- this.world.destroy();
2851
2874
  this.controller.destroy();
2875
+ this.world.destroy();
2852
2876
  this.viewport.destroy();
2853
2877
  this._assetManager.clearAssets();
2854
2878
  }
@@ -3378,7 +3402,7 @@ exports.DefaultDenoiseParam = DefaultDenoiseParam;
3378
3402
  exports.DefaultGTAOParam = DefaultGTAOParam;
3379
3403
  exports.DefaultOutlineParams = DefaultOutlineParams;
3380
3404
  exports.DefaultPostProcessParam = DefaultPostProcessParam;
3381
- exports.DefaultRenderParam = DefaultRenderParam;
3405
+ exports.DefaultRendererParameters = DefaultRendererParameters;
3382
3406
  exports.DefaultSSRParam = DefaultSSRParam;
3383
3407
  exports.DefaultSkyParam = DefaultSkyParam;
3384
3408
  exports.DefaultToneMappingParams = DefaultToneMappingParams;
@@ -1520,7 +1520,7 @@ class Viewport {
1520
1520
  }
1521
1521
  return this._app;
1522
1522
  }
1523
- constructor(app, viewportParam, rendererParam = { antialias: true }, postProcessParam = {}) {
1523
+ constructor(app, viewportParam, rendererParam, postProcessParam = {}) {
1524
1524
  this._renderer = null;
1525
1525
  this.labelRenderer = null;
1526
1526
  this._app = null;
@@ -1552,10 +1552,22 @@ class Viewport {
1552
1552
  }
1553
1553
  let width = element ? element.clientWidth : 512;
1554
1554
  let height = element ? element.clientHeight : 512;
1555
- this._renderer = new WebGPURenderer(rendererParam);
1555
+ let renderP = {};
1556
+ renderP.forceWebGL = rendererParam.forceWebGL;
1557
+ renderP.antialias = rendererParam.antialias;
1558
+ renderP.depth = rendererParam.depth;
1559
+ renderP.stencil = rendererParam.stencil;
1560
+ renderP.alpha = rendererParam.alpha;
1561
+ renderP.logarithmicDepthBuffer = rendererParam.logarithmicDepthBuffer;
1562
+ renderP.samples = rendererParam.samples;
1563
+ renderP.colorBufferType = rendererParam.colorBufferType;
1564
+ this._renderer = new WebGPURenderer(renderP);
1556
1565
  this._renderer.setPixelRatio(window.devicePixelRatio);
1557
1566
  this._renderer.setSize(width, height);
1558
- this._renderer.shadowMap.enabled = true;
1567
+ this._renderer.shadowMap.enabled = rendererParam.shadowMapEnabled;
1568
+ this._renderer.shadowMap.type = rendererParam.shadowMapType;
1569
+ this._renderer.toneMapping = rendererParam.toneMapping;
1570
+ this._renderer.toneMappingExposure = rendererParam.toneMappingExposure;
1559
1571
  if (viewportParam.isLabelRendererNeeded) {
1560
1572
  this.labelRenderer = new CSS2DRenderer();
1561
1573
  this.labelRenderer.setSize(width, height);
@@ -2305,11 +2317,23 @@ const DefaultViewportParam = {
2305
2317
  isLabelRendererNeeded: false
2306
2318
  };
2307
2319
 
2308
- const DefaultRenderParam = {
2309
- antialias: true,
2320
+ const DefaultRendererParameters = {
2321
+ logarithmicDepthBuffer: false,
2322
+ alpha: false,
2323
+ depth: true,
2324
+ stencil: false,
2325
+ antialias: false,
2326
+ samples: 4,
2327
+ forceWebGL: false,
2328
+ colorBufferType: undefined,
2329
+ toneMapping: 0,
2330
+ toneMappingExposure: 1,
2331
+ shadowMapEnabled: true,
2332
+ shadowMapType: 1,
2310
2333
  };
2334
+
2311
2335
  const DefaultAppParam = {
2312
- renderParam: DefaultRenderParam,
2336
+ renderParam: DefaultRendererParameters,
2313
2337
  cameraParam: DefaultCameraParam,
2314
2338
  postProcessParam: DefaultPostProcessParam,
2315
2339
  viewportParam: DefaultViewportParam,
@@ -2810,7 +2834,7 @@ class ThreeJsApp {
2810
2834
  this._appParam = { viewportParam: DefaultViewportParam };
2811
2835
  this._onCameraChangedDelegate = new Delegate();
2812
2836
  this._appParam.cameraParam = appParam.cameraParam ? appParam.cameraParam : DefaultCameraParam;
2813
- this._appParam.renderParam = appParam.renderParam ? appParam.renderParam : DefaultRenderParam;
2837
+ this._appParam.renderParam = appParam.renderParam ? appParam.renderParam : DefaultRendererParameters;
2814
2838
  this._appParam.postProcessParam = appParam.postProcessParam ? appParam.postProcessParam : DefaultPostProcessParam;
2815
2839
  this._appParam.viewportParam = appParam.viewportParam ? appParam.viewportParam : DefaultViewportParam;
2816
2840
  this._appParam.classes = appParam.classes ? appParam.classes : {
@@ -2845,8 +2869,8 @@ class ThreeJsApp {
2845
2869
  }
2846
2870
  destroy() {
2847
2871
  this.onCameraChangedDelegate.clear();
2848
- this.world.destroy();
2849
2872
  this.controller.destroy();
2873
+ this.world.destroy();
2850
2874
  this.viewport.destroy();
2851
2875
  this._assetManager.clearAssets();
2852
2876
  }
@@ -3363,4 +3387,4 @@ class TransformGizmo extends Pawn {
3363
3387
  }
3364
3388
  }
3365
3389
 
3366
- export { Actor, AssetManager, AttachmentRules, BoxActor, BoxComponent, Controller, DefaultAppParam, DefaultBloomParam, DefaultCameraParam, DefaultDOFParam, DefaultDenoiseParam, DefaultGTAOParam, DefaultOutlineParams, DefaultPostProcessParam, DefaultRenderParam, DefaultSSRParam, DefaultSkyParam, DefaultToneMappingParams, DefaultViewportParam, DefaultWorldParam, Delegate, DirectionalLightActor, DirectionalLightComponent, FirstPerson, GeometryAssetPointer, LabelComponent, LevelActor, LevelComponent, MaterialAssetPointer, MeshComponent, Orbital, PlaneActor, PlaneComponent, SceneComponent, SkyActor, SkyComponent, SphereComponent, TAssetPointer, TSmartPointer, TextureAssetPointer, ThreeJsApp, ThreeObjectLibrary, ToneMappingOptions, TransformGizmo, Viewport, WebGPUPostProcessFactory, World };
3390
+ export { Actor, AssetManager, AttachmentRules, BoxActor, BoxComponent, Controller, DefaultAppParam, DefaultBloomParam, DefaultCameraParam, DefaultDOFParam, DefaultDenoiseParam, DefaultGTAOParam, DefaultOutlineParams, DefaultPostProcessParam, DefaultRendererParameters, DefaultSSRParam, DefaultSkyParam, DefaultToneMappingParams, DefaultViewportParam, DefaultWorldParam, Delegate, DirectionalLightActor, DirectionalLightComponent, FirstPerson, GeometryAssetPointer, LabelComponent, LevelActor, LevelComponent, MaterialAssetPointer, MeshComponent, Orbital, PlaneActor, PlaneComponent, SceneComponent, SkyActor, SkyComponent, SphereComponent, TAssetPointer, TSmartPointer, TextureAssetPointer, ThreeJsApp, ThreeObjectLibrary, ToneMappingOptions, TransformGizmo, Viewport, WebGPUPostProcessFactory, World };
package/dist/index.d.ts CHANGED
@@ -13,11 +13,13 @@ export { World } from "./lythreeframe/Frame/World";
13
13
  export type { CameraParam } from './lythreeframe/Frame/Parameters/CameraParameter';
14
14
  export { DefaultCameraParam } from './lythreeframe/Frame/Parameters/CameraParameter';
15
15
  export type { AppParam, AppClass } from "./lythreeframe/Frame/Parameters/AppParameter";
16
- export { DefaultRenderParam, DefaultAppParam } from "./lythreeframe/Frame/Parameters/AppParameter";
16
+ export { DefaultAppParam } from "./lythreeframe/Frame/Parameters/AppParameter";
17
17
  export type { ViewportParam } from './lythreeframe/Frame/Parameters/ViewportParameters';
18
18
  export { DefaultViewportParam } from './lythreeframe/Frame/Parameters/ViewportParameters';
19
19
  export type { WorldParam } from "./lythreeframe/Frame/Parameters/WorldParameter";
20
20
  export { DefaultWorldParam } from "./lythreeframe/Frame/Parameters/WorldParameter";
21
+ export type { RendererParameters } from './lythreeframe/Frame/Parameters/RendererParameters';
22
+ export { DefaultRendererParameters } from './lythreeframe/Frame/Parameters/RendererParameters';
21
23
  export { Actor } from "./lythreeframe/Object/Actor";
22
24
  export { DirectionalLightActor } from "./lythreeframe/Object/Actors/Light/DirectionalLightActor";
23
25
  export { BoxActor } from "./lythreeframe/Object/Actors/Shape/BoxActor";
@@ -6,7 +6,7 @@ import { Viewport } from "../Viewport";
6
6
  import { ViewportParam } from "./ViewportParameters";
7
7
  import { AssetManager } from "../../AssetManagement/AssetManager";
8
8
  import { PostProcessParam } from "../../PostProcess/PostProcessParam";
9
- import { WebGPURendererParameters } from "three/src/renderers/webgpu/WebGPURenderer.js";
9
+ import { RendererParameters } from "./RendererParameters";
10
10
  export interface AppClass {
11
11
  assetManagerClass: typeof AssetManager;
12
12
  controllerClass: typeof Controller;
@@ -14,12 +14,11 @@ export interface AppClass {
14
14
  viewportClass: typeof Viewport;
15
15
  }
16
16
  export interface AppParam {
17
- renderParam?: WebGPURendererParameters;
17
+ renderParam?: RendererParameters;
18
18
  cameraParam?: CameraParam;
19
19
  postProcessParam?: PostProcessParam;
20
20
  worldParam?: WorldParam;
21
21
  viewportParam: ViewportParam;
22
22
  classes?: AppClass;
23
23
  }
24
- export declare const DefaultRenderParam: WebGPURendererParameters;
25
24
  export declare const DefaultAppParam: AppParam;
@@ -0,0 +1,17 @@
1
+ import { ShadowMapType, TextureDataType, ToneMapping } from "three/webgpu";
2
+ export interface RendererParameters {
3
+ logarithmicDepthBuffer?: boolean | undefined;
4
+ alpha?: boolean | undefined;
5
+ depth?: boolean | undefined;
6
+ stencil?: boolean | undefined;
7
+ antialias?: boolean | undefined;
8
+ samples?: number | undefined;
9
+ forceWebGL?: boolean | undefined;
10
+ colorBufferType?: TextureDataType | undefined;
11
+ toneMapping: ToneMapping;
12
+ toneMappingExposure: number;
13
+ shadowMapEnabled: boolean;
14
+ shadowMapType: ShadowMapType | null;
15
+ }
16
+ export declare const DefaultRendererParameters: RendererParameters;
17
+ export declare const RendererParametersNeedsRebuild: never[];
@@ -1,5 +1,4 @@
1
1
  import { PostProcessParam } from './../PostProcess/PostProcessParam';
2
- import { WebGPURendererParameters } from "three/src/renderers/webgpu/WebGPURenderer.js";
3
2
  import { WebGPURenderer } from "three/webgpu";
4
3
  import { BloomParam } from "../PostProcess/Param/Bloom";
5
4
  import { GTAOParam } from "../PostProcess/Param/GTAO";
@@ -10,6 +9,7 @@ import { OutlineParams } from '../PostProcess/Param/Outline';
10
9
  import { Object3D } from 'three/src/Three.WebGPU.Nodes.js';
11
10
  import { DOFParam } from '../PostProcess/Param/DOF';
12
11
  import { ViewportParam } from './Parameters/ViewportParameters';
12
+ import { RendererParameters } from './Parameters/RendererParameters';
13
13
  export declare class Viewport {
14
14
  get canvas(): HTMLElement | null;
15
15
  get renderer(): WebGPURenderer;
@@ -32,7 +32,7 @@ export declare class Viewport {
32
32
  private fxaaPass;
33
33
  private smaaPass;
34
34
  private outlineObjects;
35
- constructor(app: ThreeJsApp, viewportParam: ViewportParam, rendererParam?: WebGPURendererParameters, postProcessParam?: PostProcessParam);
35
+ constructor(app: ThreeJsApp, viewportParam: ViewportParam, rendererParam: RendererParameters, postProcessParam?: PostProcessParam);
36
36
  init(): void;
37
37
  setupPostProcess(): void;
38
38
  updateToneMappingParam(params: ToneMappingParams): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lythreeframe",
3
- "version": "1.2.13",
3
+ "version": "1.2.15",
4
4
  "description": "Three.js 封装",
5
5
  "main": "dist/bundle.cjs.js",
6
6
  "module": "dist/bundle.esm.js",