lythreeframe 1.0.45 → 1.0.47
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 +46 -25
- package/dist/bundle.esm.js +46 -26
- package/dist/index.d.ts +2 -0
- package/dist/lythreeframe/Frame/Parameters/AppParameter.d.ts +2 -0
- package/dist/lythreeframe/Frame/Parameters/ViewportParameters.d.ts +5 -0
- package/dist/lythreeframe/Frame/Viewport.d.ts +2 -1
- package/dist/lythreeframe/ThreeJsApp.d.ts +1 -1
- package/package.json +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -1108,7 +1108,7 @@ class AssetManager {
|
|
|
1108
1108
|
}
|
|
1109
1109
|
}
|
|
1110
1110
|
pointer = new MaterialAssetPointer(asset, textureMap, referenceCount);
|
|
1111
|
-
this.
|
|
1111
|
+
this.materialAssets.set(asset.uuid, pointer);
|
|
1112
1112
|
}
|
|
1113
1113
|
else {
|
|
1114
1114
|
pointer.addRef(referenceCount);
|
|
@@ -1452,7 +1452,7 @@ class Viewport {
|
|
|
1452
1452
|
}
|
|
1453
1453
|
return this._app;
|
|
1454
1454
|
}
|
|
1455
|
-
constructor(app,
|
|
1455
|
+
constructor(app, viewportParam, rendererParam = { antialias: true }, postProcessParam = {}) {
|
|
1456
1456
|
this._renderer = null;
|
|
1457
1457
|
this.labelRenderer = null;
|
|
1458
1458
|
this._app = null;
|
|
@@ -1475,31 +1475,44 @@ class Viewport {
|
|
|
1475
1475
|
this.outlineObjects = [];
|
|
1476
1476
|
this.postProcessParam = postProcessParam;
|
|
1477
1477
|
this._app = app;
|
|
1478
|
-
let element =
|
|
1479
|
-
if (
|
|
1480
|
-
|
|
1478
|
+
let element = null;
|
|
1479
|
+
if (viewportParam.elementId) {
|
|
1480
|
+
element = document.getElementById(viewportParam.elementId);
|
|
1481
|
+
if (!element) {
|
|
1482
|
+
throw Error(`Can not find domElement which id is ${viewportParam.elementId}`);
|
|
1483
|
+
}
|
|
1481
1484
|
}
|
|
1485
|
+
let width = element ? element.clientWidth : 512;
|
|
1486
|
+
let height = element ? element.clientHeight : 512;
|
|
1482
1487
|
this._renderer = new webgpu.WebGPURenderer(rendererParam);
|
|
1483
1488
|
this._renderer.setPixelRatio(window.devicePixelRatio);
|
|
1484
|
-
this._renderer.setSize(
|
|
1489
|
+
this._renderer.setSize(width, height);
|
|
1485
1490
|
this._renderer.shadowMap.enabled = true;
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
this.resizeObserver = new ResizeObserver((entries) => {
|
|
1496
|
-
for (let entry of entries) {
|
|
1497
|
-
if (entry.contentBoxSize) {
|
|
1498
|
-
this.onWindowResize();
|
|
1499
|
-
}
|
|
1491
|
+
if (viewportParam.isLabelRendererNeeded) {
|
|
1492
|
+
this.labelRenderer = new Addons_js.CSS2DRenderer();
|
|
1493
|
+
this.labelRenderer.setSize(width, height);
|
|
1494
|
+
this.labelRenderer.domElement.style.pointerEvents = 'none';
|
|
1495
|
+
this.labelRenderer.domElement.style.position = 'absolute';
|
|
1496
|
+
this.labelRenderer.domElement.style.top = '0px';
|
|
1497
|
+
this.labelRenderer.domElement.className = 'scene-labelRenderer';
|
|
1498
|
+
if (element) {
|
|
1499
|
+
element.appendChild(this.labelRenderer.domElement);
|
|
1500
1500
|
}
|
|
1501
|
-
}
|
|
1502
|
-
|
|
1501
|
+
}
|
|
1502
|
+
if (element) {
|
|
1503
|
+
element.appendChild(this._renderer.domElement);
|
|
1504
|
+
this._canvas = element;
|
|
1505
|
+
}
|
|
1506
|
+
if (this._canvas) {
|
|
1507
|
+
this.resizeObserver = new ResizeObserver((entries) => {
|
|
1508
|
+
for (let entry of entries) {
|
|
1509
|
+
if (entry.contentBoxSize) {
|
|
1510
|
+
this.onWindowResize();
|
|
1511
|
+
}
|
|
1512
|
+
}
|
|
1513
|
+
});
|
|
1514
|
+
this.resizeObserver.observe(this._canvas);
|
|
1515
|
+
}
|
|
1503
1516
|
this.app.onCameraChangedDelegate.add(() => {
|
|
1504
1517
|
this.setupPostProcess();
|
|
1505
1518
|
});
|
|
@@ -2205,6 +2218,11 @@ const DefaultCameraParam = {
|
|
|
2205
2218
|
}
|
|
2206
2219
|
};
|
|
2207
2220
|
|
|
2221
|
+
const DefaultViewportParam = {
|
|
2222
|
+
elementId: null,
|
|
2223
|
+
isLabelRendererNeeded: false
|
|
2224
|
+
};
|
|
2225
|
+
|
|
2208
2226
|
const DefaultRenderParam = {
|
|
2209
2227
|
antialias: true,
|
|
2210
2228
|
};
|
|
@@ -2212,6 +2230,7 @@ const DefaultAppParam = {
|
|
|
2212
2230
|
renderParam: DefaultRenderParam,
|
|
2213
2231
|
cameraParam: DefaultCameraParam,
|
|
2214
2232
|
postProcessParam: DefaultPostProcessParam,
|
|
2233
|
+
viewportParam: DefaultViewportParam,
|
|
2215
2234
|
classes: {
|
|
2216
2235
|
assetManagerClass: AssetManager,
|
|
2217
2236
|
controllerClass: Controller,
|
|
@@ -2245,12 +2264,13 @@ class ThreeJsApp {
|
|
|
2245
2264
|
get onCameraChangedDelegate() {
|
|
2246
2265
|
return this._onCameraChangedDelegate;
|
|
2247
2266
|
}
|
|
2248
|
-
constructor(
|
|
2249
|
-
this._appParam = {};
|
|
2267
|
+
constructor(appParam = DefaultAppParam) {
|
|
2268
|
+
this._appParam = { viewportParam: DefaultViewportParam };
|
|
2250
2269
|
this._onCameraChangedDelegate = new Delegate();
|
|
2251
2270
|
this._appParam.cameraParam = appParam.cameraParam ? appParam.cameraParam : DefaultCameraParam;
|
|
2252
2271
|
this._appParam.renderParam = appParam.renderParam ? appParam.renderParam : DefaultRenderParam;
|
|
2253
2272
|
this._appParam.postProcessParam = appParam.postProcessParam ? appParam.postProcessParam : DefaultPostProcessParam;
|
|
2273
|
+
this._appParam.viewportParam = appParam.viewportParam ? appParam.viewportParam : DefaultViewportParam;
|
|
2254
2274
|
this._appParam.classes = appParam.classes ? appParam.classes : {
|
|
2255
2275
|
assetManagerClass: AssetManager,
|
|
2256
2276
|
controllerClass: Controller,
|
|
@@ -2260,7 +2280,7 @@ class ThreeJsApp {
|
|
|
2260
2280
|
this._clock = new webgpu.Clock();
|
|
2261
2281
|
this._camera = CameraFactory.createCamera(this._appParam.cameraParam);
|
|
2262
2282
|
this._world = new this._appParam.classes.worldClass(this);
|
|
2263
|
-
this._viewport = new this._appParam.classes.viewportClass(this,
|
|
2283
|
+
this._viewport = new this._appParam.classes.viewportClass(this, this._appParam.viewportParam, this._appParam.renderParam, this._appParam.postProcessParam);
|
|
2264
2284
|
this._controller = new this._appParam.classes.controllerClass(this);
|
|
2265
2285
|
this._assetManager = new this._appParam.classes.assetManagerClass(this);
|
|
2266
2286
|
this.viewport.renderer.setAnimationLoop(() => {
|
|
@@ -3156,6 +3176,7 @@ exports.DefaultRenderParam = DefaultRenderParam;
|
|
|
3156
3176
|
exports.DefaultSSRParam = DefaultSSRParam;
|
|
3157
3177
|
exports.DefaultSkyParam = DefaultSkyParam;
|
|
3158
3178
|
exports.DefaultToneMappingParams = DefaultToneMappingParams;
|
|
3179
|
+
exports.DefaultViewportParam = DefaultViewportParam;
|
|
3159
3180
|
exports.Delegate = Delegate;
|
|
3160
3181
|
exports.DirectionalLightActor = DirectionalLightActor;
|
|
3161
3182
|
exports.DirectionalLightComponent = DirectionalLightComponent;
|
package/dist/bundle.esm.js
CHANGED
|
@@ -1106,7 +1106,7 @@ class AssetManager {
|
|
|
1106
1106
|
}
|
|
1107
1107
|
}
|
|
1108
1108
|
pointer = new MaterialAssetPointer(asset, textureMap, referenceCount);
|
|
1109
|
-
this.
|
|
1109
|
+
this.materialAssets.set(asset.uuid, pointer);
|
|
1110
1110
|
}
|
|
1111
1111
|
else {
|
|
1112
1112
|
pointer.addRef(referenceCount);
|
|
@@ -1450,7 +1450,7 @@ class Viewport {
|
|
|
1450
1450
|
}
|
|
1451
1451
|
return this._app;
|
|
1452
1452
|
}
|
|
1453
|
-
constructor(app,
|
|
1453
|
+
constructor(app, viewportParam, rendererParam = { antialias: true }, postProcessParam = {}) {
|
|
1454
1454
|
this._renderer = null;
|
|
1455
1455
|
this.labelRenderer = null;
|
|
1456
1456
|
this._app = null;
|
|
@@ -1473,31 +1473,44 @@ class Viewport {
|
|
|
1473
1473
|
this.outlineObjects = [];
|
|
1474
1474
|
this.postProcessParam = postProcessParam;
|
|
1475
1475
|
this._app = app;
|
|
1476
|
-
let element =
|
|
1477
|
-
if (
|
|
1478
|
-
|
|
1476
|
+
let element = null;
|
|
1477
|
+
if (viewportParam.elementId) {
|
|
1478
|
+
element = document.getElementById(viewportParam.elementId);
|
|
1479
|
+
if (!element) {
|
|
1480
|
+
throw Error(`Can not find domElement which id is ${viewportParam.elementId}`);
|
|
1481
|
+
}
|
|
1479
1482
|
}
|
|
1483
|
+
let width = element ? element.clientWidth : 512;
|
|
1484
|
+
let height = element ? element.clientHeight : 512;
|
|
1480
1485
|
this._renderer = new WebGPURenderer(rendererParam);
|
|
1481
1486
|
this._renderer.setPixelRatio(window.devicePixelRatio);
|
|
1482
|
-
this._renderer.setSize(
|
|
1487
|
+
this._renderer.setSize(width, height);
|
|
1483
1488
|
this._renderer.shadowMap.enabled = true;
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
this.resizeObserver = new ResizeObserver((entries) => {
|
|
1494
|
-
for (let entry of entries) {
|
|
1495
|
-
if (entry.contentBoxSize) {
|
|
1496
|
-
this.onWindowResize();
|
|
1497
|
-
}
|
|
1489
|
+
if (viewportParam.isLabelRendererNeeded) {
|
|
1490
|
+
this.labelRenderer = new CSS2DRenderer();
|
|
1491
|
+
this.labelRenderer.setSize(width, height);
|
|
1492
|
+
this.labelRenderer.domElement.style.pointerEvents = 'none';
|
|
1493
|
+
this.labelRenderer.domElement.style.position = 'absolute';
|
|
1494
|
+
this.labelRenderer.domElement.style.top = '0px';
|
|
1495
|
+
this.labelRenderer.domElement.className = 'scene-labelRenderer';
|
|
1496
|
+
if (element) {
|
|
1497
|
+
element.appendChild(this.labelRenderer.domElement);
|
|
1498
1498
|
}
|
|
1499
|
-
}
|
|
1500
|
-
|
|
1499
|
+
}
|
|
1500
|
+
if (element) {
|
|
1501
|
+
element.appendChild(this._renderer.domElement);
|
|
1502
|
+
this._canvas = element;
|
|
1503
|
+
}
|
|
1504
|
+
if (this._canvas) {
|
|
1505
|
+
this.resizeObserver = new ResizeObserver((entries) => {
|
|
1506
|
+
for (let entry of entries) {
|
|
1507
|
+
if (entry.contentBoxSize) {
|
|
1508
|
+
this.onWindowResize();
|
|
1509
|
+
}
|
|
1510
|
+
}
|
|
1511
|
+
});
|
|
1512
|
+
this.resizeObserver.observe(this._canvas);
|
|
1513
|
+
}
|
|
1501
1514
|
this.app.onCameraChangedDelegate.add(() => {
|
|
1502
1515
|
this.setupPostProcess();
|
|
1503
1516
|
});
|
|
@@ -2203,6 +2216,11 @@ const DefaultCameraParam = {
|
|
|
2203
2216
|
}
|
|
2204
2217
|
};
|
|
2205
2218
|
|
|
2219
|
+
const DefaultViewportParam = {
|
|
2220
|
+
elementId: null,
|
|
2221
|
+
isLabelRendererNeeded: false
|
|
2222
|
+
};
|
|
2223
|
+
|
|
2206
2224
|
const DefaultRenderParam = {
|
|
2207
2225
|
antialias: true,
|
|
2208
2226
|
};
|
|
@@ -2210,6 +2228,7 @@ const DefaultAppParam = {
|
|
|
2210
2228
|
renderParam: DefaultRenderParam,
|
|
2211
2229
|
cameraParam: DefaultCameraParam,
|
|
2212
2230
|
postProcessParam: DefaultPostProcessParam,
|
|
2231
|
+
viewportParam: DefaultViewportParam,
|
|
2213
2232
|
classes: {
|
|
2214
2233
|
assetManagerClass: AssetManager,
|
|
2215
2234
|
controllerClass: Controller,
|
|
@@ -2243,12 +2262,13 @@ class ThreeJsApp {
|
|
|
2243
2262
|
get onCameraChangedDelegate() {
|
|
2244
2263
|
return this._onCameraChangedDelegate;
|
|
2245
2264
|
}
|
|
2246
|
-
constructor(
|
|
2247
|
-
this._appParam = {};
|
|
2265
|
+
constructor(appParam = DefaultAppParam) {
|
|
2266
|
+
this._appParam = { viewportParam: DefaultViewportParam };
|
|
2248
2267
|
this._onCameraChangedDelegate = new Delegate();
|
|
2249
2268
|
this._appParam.cameraParam = appParam.cameraParam ? appParam.cameraParam : DefaultCameraParam;
|
|
2250
2269
|
this._appParam.renderParam = appParam.renderParam ? appParam.renderParam : DefaultRenderParam;
|
|
2251
2270
|
this._appParam.postProcessParam = appParam.postProcessParam ? appParam.postProcessParam : DefaultPostProcessParam;
|
|
2271
|
+
this._appParam.viewportParam = appParam.viewportParam ? appParam.viewportParam : DefaultViewportParam;
|
|
2252
2272
|
this._appParam.classes = appParam.classes ? appParam.classes : {
|
|
2253
2273
|
assetManagerClass: AssetManager,
|
|
2254
2274
|
controllerClass: Controller,
|
|
@@ -2258,7 +2278,7 @@ class ThreeJsApp {
|
|
|
2258
2278
|
this._clock = new Clock();
|
|
2259
2279
|
this._camera = CameraFactory.createCamera(this._appParam.cameraParam);
|
|
2260
2280
|
this._world = new this._appParam.classes.worldClass(this);
|
|
2261
|
-
this._viewport = new this._appParam.classes.viewportClass(this,
|
|
2281
|
+
this._viewport = new this._appParam.classes.viewportClass(this, this._appParam.viewportParam, this._appParam.renderParam, this._appParam.postProcessParam);
|
|
2262
2282
|
this._controller = new this._appParam.classes.controllerClass(this);
|
|
2263
2283
|
this._assetManager = new this._appParam.classes.assetManagerClass(this);
|
|
2264
2284
|
this.viewport.renderer.setAnimationLoop(() => {
|
|
@@ -3137,4 +3157,4 @@ class TransformGizmo extends Pawn {
|
|
|
3137
3157
|
}
|
|
3138
3158
|
}
|
|
3139
3159
|
|
|
3140
|
-
export { Actor, AssetManager, AttachmentRules, BoxActor, BoxComponent, Controller, DefaultAppParam, DefaultBloomParam, DefaultCameraParam, DefaultDOFParam, DefaultDenoiseParam, DefaultGTAOParam, DefaultOutlineParams, DefaultPostProcessParam, DefaultRenderParam, DefaultSSRParam, DefaultSkyParam, DefaultToneMappingParams, Delegate, DirectionalLightActor, DirectionalLightComponent, FirstPerson, GeometryAssetPointer, LabelComponent, MaterialAssetPointer, MeshComponent, Orbital, PlaneActor, PlaneComponent, SceneComponent, SkyActor, SkyComponent, SphereComponent, TAssetPointer, TSmartPointer, TextureAssetPointer, ThreeJsApp, ThreeObjectLibrary, ToneMappingOptions, TransformGizmo, Viewport, WebGPUPostProcessFactory, World };
|
|
3160
|
+
export { Actor, AssetManager, AttachmentRules, BoxActor, BoxComponent, Controller, DefaultAppParam, DefaultBloomParam, DefaultCameraParam, DefaultDOFParam, DefaultDenoiseParam, DefaultGTAOParam, DefaultOutlineParams, DefaultPostProcessParam, DefaultRenderParam, DefaultSSRParam, DefaultSkyParam, DefaultToneMappingParams, DefaultViewportParam, Delegate, DirectionalLightActor, DirectionalLightComponent, FirstPerson, GeometryAssetPointer, LabelComponent, 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
|
@@ -14,6 +14,8 @@ export type { CameraParam } from './lythreeframe/Frame/Parameters/CameraParamete
|
|
|
14
14
|
export { DefaultCameraParam } from './lythreeframe/Frame/Parameters/CameraParameter';
|
|
15
15
|
export type { AppParam, AppClass } from "./lythreeframe/Frame/Parameters/AppParameter";
|
|
16
16
|
export { DefaultRenderParam, DefaultAppParam } from "./lythreeframe/Frame/Parameters/AppParameter";
|
|
17
|
+
export type { ViewportParam } from './lythreeframe/Frame/Parameters/ViewportParameters';
|
|
18
|
+
export { DefaultViewportParam } from './lythreeframe/Frame/Parameters/ViewportParameters';
|
|
17
19
|
export { Actor } from "./lythreeframe/Object/Actor";
|
|
18
20
|
export { DirectionalLightActor } from "./lythreeframe/Object/Actors/Light/DirectionalLightActor";
|
|
19
21
|
export { BoxActor } from "./lythreeframe/Object/Actors/Shape/BoxActor";
|
|
@@ -6,6 +6,7 @@ import { AssetManager } from "@/lythreeframe/AssetManagement/AssetManager";
|
|
|
6
6
|
import { Controller } from "../Controller";
|
|
7
7
|
import { World } from "../World";
|
|
8
8
|
import { Viewport } from "../Viewport";
|
|
9
|
+
import { ViewportParam } from "./ViewportParameters";
|
|
9
10
|
export interface AppClass {
|
|
10
11
|
assetManagerClass: typeof AssetManager;
|
|
11
12
|
controllerClass: typeof Controller;
|
|
@@ -17,6 +18,7 @@ export interface AppParam {
|
|
|
17
18
|
cameraParam?: CameraParam;
|
|
18
19
|
postProcessParam?: PostProcessParam;
|
|
19
20
|
worldParam?: WorldParam;
|
|
21
|
+
viewportParam: ViewportParam;
|
|
20
22
|
classes?: AppClass;
|
|
21
23
|
}
|
|
22
24
|
export declare const DefaultRenderParam: WebGPURendererParameters;
|
|
@@ -9,6 +9,7 @@ import { SSRParam } from "../PostProcess/Param/SSR";
|
|
|
9
9
|
import { OutlineParams } from '../PostProcess/Param/Outline';
|
|
10
10
|
import { Object3D } from 'three/src/Three.WebGPU.Nodes.js';
|
|
11
11
|
import { DOFParam } from '../PostProcess/Param/DOF';
|
|
12
|
+
import { ViewportParam } from './Parameters/ViewportParameters';
|
|
12
13
|
export declare class Viewport {
|
|
13
14
|
get canvas(): HTMLElement;
|
|
14
15
|
get renderer(): WebGPURenderer;
|
|
@@ -31,7 +32,7 @@ export declare class Viewport {
|
|
|
31
32
|
private fxaaPass;
|
|
32
33
|
private smaaPass;
|
|
33
34
|
private outlineObjects;
|
|
34
|
-
constructor(app: ThreeJsApp,
|
|
35
|
+
constructor(app: ThreeJsApp, viewportParam: ViewportParam, rendererParam?: WebGPURendererParameters, postProcessParam?: PostProcessParam);
|
|
35
36
|
init(): void;
|
|
36
37
|
setupPostProcess(): void;
|
|
37
38
|
updateToneMappingParam(params: ToneMappingParams): void;
|
|
@@ -23,7 +23,7 @@ export declare class ThreeJsApp {
|
|
|
23
23
|
protected _appParam: AppParam;
|
|
24
24
|
get onCameraChangedDelegate(): Delegate<[void]>;
|
|
25
25
|
protected _onCameraChangedDelegate: Delegate<[void]>;
|
|
26
|
-
constructor(
|
|
26
|
+
constructor(appParam?: AppParam);
|
|
27
27
|
init(): void;
|
|
28
28
|
tick(): void;
|
|
29
29
|
destroy(): void;
|