@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.9.0 → 3.9.1
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/README.md +1 -1
- package/dist/RenderingEngine.d.ts +23 -23
- package/dist/RenderingEngine.d.ts.map +1 -1
- package/dist/RenderingEngine.js +245 -128
- package/dist/RenderingEngine.js.map +1 -1
- package/dist/index.d.ts +11 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -11
- package/dist/index.js.map +1 -1
- package/dist/injectors/TextureUnifierInjector.d.ts.map +1 -1
- package/dist/injectors/TextureUnifierInjector.js +22 -13
- package/dist/injectors/TextureUnifierInjector.js.map +1 -1
- package/dist/interfaces/ILoader.d.ts.map +1 -1
- package/dist/interfaces/IPostProcessingEffectDefinitions.d.ts.map +1 -1
- package/dist/interfaces/IPostProcessingEffectDefinitions.js.map +1 -1
- package/dist/interfaces/IRenderingEngine.d.ts +6 -6
- package/dist/interfaces/IRenderingEngine.d.ts.map +1 -1
- package/dist/loaders/EnvironmentMapLoader.d.ts +3 -3
- package/dist/loaders/EnvironmentMapLoader.d.ts.map +1 -1
- package/dist/loaders/EnvironmentMapLoader.js +150 -52
- package/dist/loaders/EnvironmentMapLoader.js.map +1 -1
- package/dist/loaders/GeometryLoader.d.ts +6 -6
- package/dist/loaders/GeometryLoader.d.ts.map +1 -1
- package/dist/loaders/GeometryLoader.js +140 -93
- package/dist/loaders/GeometryLoader.js.map +1 -1
- package/dist/loaders/HTMLElementAnchorLoader.d.ts +4 -4
- package/dist/loaders/HTMLElementAnchorLoader.d.ts.map +1 -1
- package/dist/loaders/HTMLElementAnchorLoader.js +26 -14
- package/dist/loaders/HTMLElementAnchorLoader.js.map +1 -1
- package/dist/loaders/LightLoader.d.ts +5 -5
- package/dist/loaders/LightLoader.d.ts.map +1 -1
- package/dist/loaders/LightLoader.js +43 -15
- package/dist/loaders/LightLoader.js.map +1 -1
- package/dist/loaders/MaterialLoader.d.ts +17 -17
- package/dist/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/loaders/MaterialLoader.js +563 -198
- package/dist/loaders/MaterialLoader.js.map +1 -1
- package/dist/managers/CameraManager.d.ts +6 -6
- package/dist/managers/CameraManager.d.ts.map +1 -1
- package/dist/managers/CameraManager.js +47 -27
- package/dist/managers/CameraManager.js.map +1 -1
- package/dist/managers/EnvironmentGeometryManager.d.ts +7 -7
- package/dist/managers/EnvironmentGeometryManager.d.ts.map +1 -1
- package/dist/managers/EnvironmentGeometryManager.js +20 -8
- package/dist/managers/EnvironmentGeometryManager.js.map +1 -1
- package/dist/managers/PostProcessingManager.d.ts +9 -9
- package/dist/managers/PostProcessingManager.d.ts.map +1 -1
- package/dist/managers/PostProcessingManager.js +358 -173
- package/dist/managers/PostProcessingManager.js.map +1 -1
- package/dist/managers/RenderingManager.d.ts +4 -4
- package/dist/managers/RenderingManager.d.ts.map +1 -1
- package/dist/managers/RenderingManager.js +164 -79
- package/dist/managers/RenderingManager.js.map +1 -1
- package/dist/managers/SceneTracingManager.d.ts +3 -3
- package/dist/managers/SceneTracingManager.d.ts.map +1 -1
- package/dist/managers/SceneTracingManager.js +12 -9
- package/dist/managers/SceneTracingManager.js.map +1 -1
- package/dist/managers/SceneTreeManager.d.ts +7 -7
- package/dist/managers/SceneTreeManager.d.ts.map +1 -1
- package/dist/managers/SceneTreeManager.js +100 -52
- package/dist/managers/SceneTreeManager.js.map +1 -1
- package/dist/managers/environmentGeometry/ContactShadow.d.ts +4 -4
- package/dist/managers/environmentGeometry/ContactShadow.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/ContactShadow.js +14 -9
- package/dist/managers/environmentGeometry/ContactShadow.js.map +1 -1
- package/dist/managers/environmentGeometry/Grid.d.ts +5 -5
- package/dist/managers/environmentGeometry/Grid.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/Grid.js +28 -13
- package/dist/managers/environmentGeometry/Grid.js.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlane.d.ts +5 -5
- package/dist/managers/environmentGeometry/GroundPlane.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlane.js +17 -10
- package/dist/managers/environmentGeometry/GroundPlane.js.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlaneShadow.d.ts +5 -5
- package/dist/managers/environmentGeometry/GroundPlaneShadow.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlaneShadow.js +11 -8
- package/dist/managers/environmentGeometry/GroundPlaneShadow.js.map +1 -1
- package/dist/managers/environmentGeometry/IEnvironmentGeometry.d.ts +2 -2
- package/dist/managers/environmentGeometry/IEnvironmentGeometry.d.ts.map +1 -1
- package/dist/managers/postprocessing/GodRaysManager.d.ts +3 -3
- package/dist/managers/postprocessing/GodRaysManager.d.ts.map +1 -1
- package/dist/managers/postprocessing/GodRaysManager.js +5 -5
- package/dist/managers/postprocessing/GodRaysManager.js.map +1 -1
- package/dist/managers/postprocessing/OutlineManager.d.ts +3 -3
- package/dist/managers/postprocessing/OutlineManager.d.ts.map +1 -1
- package/dist/managers/postprocessing/OutlineManager.js +1 -1
- package/dist/managers/postprocessing/OutlineManager.js.map +1 -1
- package/dist/managers/postprocessing/SSAARenderPass.d.ts +12 -12
- package/dist/managers/postprocessing/SSAARenderPass.d.ts.map +1 -1
- package/dist/managers/postprocessing/SSAARenderPass.js +83 -35
- package/dist/managers/postprocessing/SSAARenderPass.js.map +1 -1
- package/dist/managers/postprocessing/SelectiveBloomManager.d.ts +3 -3
- package/dist/managers/postprocessing/SelectiveBloomManager.d.ts.map +1 -1
- package/dist/managers/postprocessing/SelectiveBloomManager.js +1 -1
- package/dist/managers/postprocessing/SelectiveBloomManager.js.map +1 -1
- package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts +5 -5
- package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/ao/AOEffect.js +43 -34
- package/dist/managers/postprocessing/ao/ao/AOEffect.js.map +1 -1
- package/dist/managers/postprocessing/ao/ao/AOPass.d.ts +2 -2
- package/dist/managers/postprocessing/ao/ao/AOPass.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/ao/AOPass.js +26 -14
- package/dist/managers/postprocessing/ao/ao/AOPass.js.map +1 -1
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts +3 -3
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js +2 -2
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js.map +1 -1
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts +2 -2
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +51 -36
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -1
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts +3 -3
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js +15 -10
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js.map +1 -1
- package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/utils/shader/basic.js.map +1 -1
- package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js.map +1 -1
- package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts +2 -2
- package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts.map +1 -1
- package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.js +43 -35
- package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.js.map +1 -1
- package/dist/managers/postprocessing/utils/CopyMaterial.d.ts.map +1 -1
- package/dist/managers/postprocessing/utils/CopyMaterial.js +2 -2
- package/dist/managers/postprocessing/utils/CopyMaterial.js.map +1 -1
- package/dist/managers/postprocessing/utils/CopyShader.d.ts.map +1 -1
- package/dist/managers/postprocessing/utils/CopyShader.js +4 -4
- package/dist/managers/postprocessing/utils/CopyShader.js.map +1 -1
- package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts +1 -1
- package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts.map +1 -1
- package/dist/managers/postprocessing/utils/FullScreenQuad.js +2 -2
- package/dist/managers/postprocessing/utils/FullScreenQuad.js.map +1 -1
- package/dist/managers/postprocessing/utils/NormalPass.d.ts +2 -2
- package/dist/managers/postprocessing/utils/NormalPass.d.ts.map +1 -1
- package/dist/managers/postprocessing/utils/NormalPass.js +3 -3
- package/dist/managers/postprocessing/utils/NormalPass.js.map +1 -1
- package/dist/managers/postprocessing/utils/RenderPass.d.ts +2 -2
- package/dist/managers/postprocessing/utils/RenderPass.d.ts.map +1 -1
- package/dist/managers/postprocessing/utils/RenderPass.js +14 -5
- package/dist/managers/postprocessing/utils/RenderPass.js.map +1 -1
- package/dist/materials/GemMaterial.d.ts +2 -2
- package/dist/materials/GemMaterial.d.ts.map +1 -1
- package/dist/materials/GemMaterial.js +20 -20
- package/dist/materials/GemMaterial.js.map +1 -1
- package/dist/materials/MeshUnlitMaterialParameters.d.ts +1 -1
- package/dist/materials/MeshUnlitMaterialParameters.d.ts.map +1 -1
- package/dist/materials/MultiPointsMaterial.d.ts +1 -1
- package/dist/materials/MultiPointsMaterial.d.ts.map +1 -1
- package/dist/materials/MultiPointsMaterial.js +46 -45
- package/dist/materials/MultiPointsMaterial.js.map +1 -1
- package/dist/materials/SpecularGlossinessMaterial.d.ts +2 -2
- package/dist/materials/SpecularGlossinessMaterial.d.ts.map +1 -1
- package/dist/materials/SpecularGlossinessMaterial.js +47 -47
- package/dist/materials/SpecularGlossinessMaterial.js.map +1 -1
- package/dist/objects/SDBone.d.ts +3 -3
- package/dist/objects/SDBone.d.ts.map +1 -1
- package/dist/objects/SDBone.js.map +1 -1
- package/dist/objects/SDColor.d.ts +2 -2
- package/dist/objects/SDColor.d.ts.map +1 -1
- package/dist/objects/SDColor.js +15 -11
- package/dist/objects/SDColor.js.map +1 -1
- package/dist/objects/SDData.d.ts +1 -1
- package/dist/objects/SDData.d.ts.map +1 -1
- package/dist/objects/SDData.js.map +1 -1
- package/dist/objects/SDObject.d.ts +3 -3
- package/dist/objects/SDObject.d.ts.map +1 -1
- package/dist/objects/SDObject.js.map +1 -1
- package/dist/shaders/PCSS.d.ts.map +1 -1
- package/dist/shaders/PCSS.js.map +1 -1
- package/dist/shaders/gem.d.ts.map +1 -1
- package/dist/shaders/gem.js.map +1 -1
- package/dist/three/CSS2DRenderer.d.ts +1 -1
- package/dist/three/CSS2DRenderer.d.ts.map +1 -1
- package/dist/three/CSS2DRenderer.js +33 -17
- package/dist/three/CSS2DRenderer.js.map +1 -1
- package/dist/three/geometries/TextGeometry.d.ts +1 -1
- package/dist/three/geometries/TextGeometry.d.ts.map +1 -1
- package/dist/three/geometries/TextGeometry.js +3 -2
- package/dist/three/geometries/TextGeometry.js.map +1 -1
- package/dist/three/loaders/RGBELoader.d.ts +1 -1
- package/dist/three/loaders/RGBELoader.d.ts.map +1 -1
- package/dist/three/loaders/RGBELoader.js +59 -46
- package/dist/three/loaders/RGBELoader.js.map +1 -1
- package/dist/types/IThreejsData.d.ts +2 -2
- package/dist/types/IThreejsData.d.ts.map +1 -1
- package/dist/types/ThreejsData.d.ts +3 -3
- package/dist/types/ThreejsData.d.ts.map +1 -1
- package/dist/types/ThreejsData.js.map +1 -1
- package/package.json +63 -63
|
@@ -24,10 +24,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.SceneTracingManager = void 0;
|
|
27
|
-
const THREE = __importStar(require("three"));
|
|
28
27
|
const viewer_rendering_engine_camera_engine_1 = require("@shapediver/viewer.rendering-engine.camera-engine");
|
|
29
28
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
30
29
|
const gl_matrix_1 = require("gl-matrix");
|
|
30
|
+
const THREE = __importStar(require("three"));
|
|
31
31
|
class SceneTracingManager {
|
|
32
32
|
// #endregion Properties (1)
|
|
33
33
|
// #region Constructors (1)
|
|
@@ -42,7 +42,7 @@ class SceneTracingManager {
|
|
|
42
42
|
const canvasPageCoordinates = this._renderingEngine.canvas.getBoundingClientRect(), width = this._renderingEngine.canvas.width, height = this._renderingEngine.canvas.height;
|
|
43
43
|
const camera = this._renderingEngine.cameraEngine.camera;
|
|
44
44
|
if (!camera)
|
|
45
|
-
throw new viewer_shared_services_1.ShapeDiverViewerViewportError(
|
|
45
|
+
throw new viewer_shared_services_1.ShapeDiverViewerViewportError("SceneTracingManager.convert3Dto2D: No camera is defined for this viewer.");
|
|
46
46
|
if (camera instanceof viewer_rendering_engine_camera_engine_1.OrthographicCamera) {
|
|
47
47
|
const direction = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), camera.target, camera.position);
|
|
48
48
|
const length = gl_matrix_1.vec3.length(direction);
|
|
@@ -63,13 +63,15 @@ class SceneTracingManager {
|
|
|
63
63
|
if (obj instanceof THREE.Mesh) {
|
|
64
64
|
const curIntersections = this._raycaster.intersectObject(obj);
|
|
65
65
|
if (curIntersections.length)
|
|
66
|
-
if (curIntersections[0].distance <
|
|
67
|
-
closestIntersectionDistance
|
|
66
|
+
if (curIntersections[0].distance <
|
|
67
|
+
closestIntersectionDistance)
|
|
68
|
+
closestIntersectionDistance =
|
|
69
|
+
curIntersections[0].distance;
|
|
68
70
|
}
|
|
69
71
|
});
|
|
70
72
|
const pos = camera.project(gl_matrix_1.vec3.clone(p));
|
|
71
|
-
pos[0] =
|
|
72
|
-
pos[1] = -(pos[1] * (height / 2)) +
|
|
73
|
+
pos[0] = pos[0] * (width / 2) + width / 2;
|
|
74
|
+
pos[1] = -(pos[1] * (height / 2)) + height / 2;
|
|
73
75
|
// take care of correction by device pixel ratio
|
|
74
76
|
pos[0] = pos[0] / devicePixelRatio;
|
|
75
77
|
pos[1] = pos[1] / devicePixelRatio;
|
|
@@ -77,10 +79,11 @@ class SceneTracingManager {
|
|
|
77
79
|
// with this we prevent flickering
|
|
78
80
|
const eps = 0.0001;
|
|
79
81
|
return {
|
|
80
|
-
hidden: closestIntersectionDistance + eps <
|
|
82
|
+
hidden: closestIntersectionDistance + eps <
|
|
83
|
+
gl_matrix_1.vec3.distance(camera.position, p),
|
|
81
84
|
container: gl_matrix_1.vec2.clone(pos),
|
|
82
85
|
client: gl_matrix_1.vec2.fromValues(pos[0] + canvasPageCoordinates.left, pos[1] + canvasPageCoordinates.top),
|
|
83
|
-
page: gl_matrix_1.vec2.fromValues(pos[0] + canvasPageCoordinates.left + window.pageXOffset, pos[1] + canvasPageCoordinates.top + window.pageYOffset)
|
|
86
|
+
page: gl_matrix_1.vec2.fromValues(pos[0] + canvasPageCoordinates.left + window.pageXOffset, pos[1] + canvasPageCoordinates.top + window.pageYOffset),
|
|
84
87
|
};
|
|
85
88
|
}
|
|
86
89
|
init() { }
|
|
@@ -94,7 +97,7 @@ class SceneTracingManager {
|
|
|
94
97
|
const rect = this._renderingEngine.canvas.getBoundingClientRect();
|
|
95
98
|
const camera = this._renderingEngine.cameraEngine.camera;
|
|
96
99
|
if (!camera)
|
|
97
|
-
throw new viewer_shared_services_1.ShapeDiverViewerViewportError(
|
|
100
|
+
throw new viewer_shared_services_1.ShapeDiverViewerViewportError("SceneTracingManager.pointerEventToRay: No camera is defined for this viewer.");
|
|
98
101
|
const _mouse_x = ((event.clientX - rect.left) / rect.width) * 2 - 1;
|
|
99
102
|
const _mouse_y = -((event.clientY - rect.top) / rect.height) * 2 + 1;
|
|
100
103
|
let origin = gl_matrix_1.vec3.clone(camera.position);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneTracingManager.js","sourceRoot":"","sources":["../../src/managers/SceneTracingManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;
|
|
1
|
+
{"version":3,"file":"SceneTracingManager.js","sourceRoot":"","sources":["../../src/managers/SceneTracingManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { IManager } from "@shapediver/viewer.rendering-engine.rendering-engine";
|
|
2
|
+
import { IBox } from "@shapediver/viewer.shared.math";
|
|
3
|
+
import { ITreeNode, ITreeNodeData } from "@shapediver/viewer.shared.node-tree";
|
|
4
|
+
import { RENDERER_TYPE } from "@shapediver/viewer.shared.types";
|
|
5
|
+
import * as THREE from "three";
|
|
6
|
+
import { SDObject } from "../objects/SDObject";
|
|
7
|
+
import { RenderingEngine } from "../RenderingEngine";
|
|
8
8
|
declare type UpdateFilter = {
|
|
9
9
|
transformationOnly: boolean;
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneTreeManager.d.ts","sourceRoot":"","sources":["../../src/managers/SceneTreeManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SceneTreeManager.d.ts","sourceRoot":"","sources":["../../src/managers/SceneTreeManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAC,MAAM,sDAAsD,CAAC;AAC9E,OAAO,EAAM,IAAI,EAAC,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAEN,SAAS,EACT,aAAa,EAEb,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAUN,aAAa,EAGb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAYnD,aAAK,YAAY,GAAG;IACnB,kBAAkB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAMF,qBAAa,gBAAiB,YAAW,QAAQ;IA0BpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAvB7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2C;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAE9C,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,yBAAyB,CAGxB;IACT,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,OAAO,CAAC,aAAa,CACU;IAC/B,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,oBAAoB,CAAkB;gBAMjB,gBAAgB,EAAE,eAAe;IAQ9D,IAAW,WAAW,IAAI,IAAI,CAE7B;IAED,IAAW,gBAAgB,IAAI,aAAa,CAE3C;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,KAAK,gBAEf;IAED,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAE5C;IAMM,IAAI,IAAI,IAAI;IAEZ,OAAO;IAYd;;;;;OAKG;IACI,UAAU,CAChB,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,oBAAoB,EAAE,OAAO,EAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GACvB,IAAI;IAiKA,kBAAkB,CACxB,IAAI,GAAE,SAA2B,EACjC,GAAG,GAAE,QAAyB;IAsC/B;;;;;;OAMG;IACI,UAAU,CAChB,IAAI,uBAA6B,EACjC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,EAC/B,MAAM,GAAE,YAA0C,EAClD,kBAAkB,GAAE,OAAc,EAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ;IAgOnB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAkI7C,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,UAAU;CA4FlB"}
|
|
@@ -24,15 +24,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.SceneTreeManager = void 0;
|
|
27
|
-
const THREE = __importStar(require("three"));
|
|
28
27
|
const viewer_rendering_engine_camera_engine_1 = require("@shapediver/viewer.rendering-engine.camera-engine");
|
|
29
28
|
const viewer_rendering_engine_light_engine_1 = require("@shapediver/viewer.rendering-engine.light-engine");
|
|
30
|
-
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
31
29
|
const viewer_shared_math_1 = require("@shapediver/viewer.shared.math");
|
|
32
30
|
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
31
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
33
32
|
const gl_matrix_1 = require("gl-matrix");
|
|
34
|
-
const
|
|
33
|
+
const THREE = __importStar(require("three"));
|
|
35
34
|
const SDBone_1 = require("../objects/SDBone");
|
|
35
|
+
const SDData_1 = require("../objects/SDData");
|
|
36
36
|
const SDObject_1 = require("../objects/SDObject");
|
|
37
37
|
const ThreejsData_1 = require("../types/ThreejsData");
|
|
38
38
|
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
@@ -54,9 +54,9 @@ class SceneTreeManager {
|
|
|
54
54
|
this._boundingBoxSensitiveData = [];
|
|
55
55
|
this._hiddenCamera = new THREE.PerspectiveCamera();
|
|
56
56
|
this._lastRendererType = viewer_shared_types_1.RENDERER_TYPE.STANDARD;
|
|
57
|
-
this._lastRootVersion =
|
|
57
|
+
this._lastRootVersion = "";
|
|
58
58
|
this._suspendSceneUpdates = false;
|
|
59
|
-
this._scene.background = new THREE.Color(
|
|
59
|
+
this._scene.background = new THREE.Color("#ffffff");
|
|
60
60
|
}
|
|
61
61
|
// #endregion Constructors (1)
|
|
62
62
|
// #region Public Getters And Setters (4)
|
|
@@ -82,8 +82,13 @@ class SceneTreeManager {
|
|
|
82
82
|
// #region Public Methods (6)
|
|
83
83
|
init() { }
|
|
84
84
|
isEmpty() {
|
|
85
|
-
return ((this._boundingBox.min[0] === 0 &&
|
|
86
|
-
this._boundingBox.
|
|
85
|
+
return ((this._boundingBox.min[0] === 0 &&
|
|
86
|
+
this._boundingBox.min[1] === 0 &&
|
|
87
|
+
this._boundingBox.min[2] === 0 &&
|
|
88
|
+
this._boundingBox.max[0] === 0 &&
|
|
89
|
+
this._boundingBox.max[1] === 0 &&
|
|
90
|
+
this._boundingBox.max[2] === 0) ||
|
|
91
|
+
this._boundingBox.isEmpty());
|
|
87
92
|
}
|
|
88
93
|
/**
|
|
89
94
|
* Convert the data of the scene graph node into the format of the implementation.
|
|
@@ -93,7 +98,8 @@ class SceneTreeManager {
|
|
|
93
98
|
*/
|
|
94
99
|
updateData(node, obj, data, filter, isVisibleInHierarchy, skeleton) {
|
|
95
100
|
var _a;
|
|
96
|
-
let dataChild = obj.children.find(oc => oc.SDid === data.id &&
|
|
101
|
+
let dataChild = (obj.children.find((oc) => oc.SDid === data.id &&
|
|
102
|
+
oc.SDversion === data.version));
|
|
97
103
|
let newChild = false;
|
|
98
104
|
if (!dataChild) {
|
|
99
105
|
newChild = true;
|
|
@@ -104,7 +110,7 @@ class SceneTreeManager {
|
|
|
104
110
|
this.injectAttributeData(node, data);
|
|
105
111
|
}
|
|
106
112
|
else {
|
|
107
|
-
const sdtfTransform = node.getTransformation(
|
|
113
|
+
const sdtfTransform = node.getTransformation("sdtf");
|
|
108
114
|
if (sdtfTransform)
|
|
109
115
|
node.removeTransformation(sdtfTransform);
|
|
110
116
|
if (data instanceof viewer_shared_types_1.GeometryData)
|
|
@@ -116,7 +122,7 @@ class SceneTreeManager {
|
|
|
116
122
|
dataChild.SDtype = SDData_1.SD_DATA_TYPE.GEOMETRY;
|
|
117
123
|
// We search for the instance matrices data in the parent of our current node
|
|
118
124
|
// We are currently at the primitive level and the instance matrices are stored at the mesh level
|
|
119
|
-
const instanceTransformationData = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.data.find(d => d instanceof viewer_shared_types_1.InstanceData);
|
|
125
|
+
const instanceTransformationData = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.data.find((d) => d instanceof viewer_shared_types_1.InstanceData);
|
|
120
126
|
if (filter.transformationOnly === false)
|
|
121
127
|
this._renderingEngine.geometryLoader.load(data, dataChild, newChild, skeleton, instanceTransformationData);
|
|
122
128
|
let bb = new viewer_shared_math_1.Box();
|
|
@@ -133,7 +139,8 @@ class SceneTreeManager {
|
|
|
133
139
|
node.boundingBox.union(bb);
|
|
134
140
|
// create the specific BB if it doesn't exist yet
|
|
135
141
|
if (!node.boundingBoxViewport[this._renderingEngine.id])
|
|
136
|
-
node.boundingBoxViewport[this._renderingEngine.id] =
|
|
142
|
+
node.boundingBoxViewport[this._renderingEngine.id] =
|
|
143
|
+
new viewer_shared_math_1.Box();
|
|
137
144
|
// adjust the specific BB
|
|
138
145
|
node.boundingBoxViewport[this._renderingEngine.id].union(bb);
|
|
139
146
|
}
|
|
@@ -147,7 +154,8 @@ class SceneTreeManager {
|
|
|
147
154
|
node.boundingBox.union(new viewer_shared_math_1.Box(gl_matrix_1.vec3.fromValues(...bbThree.min.toArray()), gl_matrix_1.vec3.fromValues(...bbThree.max.toArray())));
|
|
148
155
|
// create the specific BB if it doesn't exist yet
|
|
149
156
|
if (!node.boundingBoxViewport[this._renderingEngine.id])
|
|
150
|
-
node.boundingBoxViewport[this._renderingEngine.id] =
|
|
157
|
+
node.boundingBoxViewport[this._renderingEngine.id] =
|
|
158
|
+
new viewer_shared_math_1.Box();
|
|
151
159
|
// adjust the specific BB
|
|
152
160
|
node.boundingBoxViewport[this._renderingEngine.id].union(new viewer_shared_math_1.Box(gl_matrix_1.vec3.fromValues(...bbThree.min.toArray()), gl_matrix_1.vec3.fromValues(...bbThree.max.toArray())));
|
|
153
161
|
}
|
|
@@ -159,8 +167,12 @@ class SceneTreeManager {
|
|
|
159
167
|
dataChild.SDtype = SDData_1.SD_DATA_TYPE.LIGHT;
|
|
160
168
|
if (filter.transformationOnly === false)
|
|
161
169
|
this._renderingEngine.lightLoader.load(data, dataChild);
|
|
162
|
-
if (data instanceof viewer_rendering_engine_light_engine_1.DirectionalLight &&
|
|
163
|
-
|
|
170
|
+
if (data instanceof viewer_rendering_engine_light_engine_1.DirectionalLight &&
|
|
171
|
+
data.useNodeData === false)
|
|
172
|
+
this._boundingBoxSensitiveData.push({
|
|
173
|
+
data: data,
|
|
174
|
+
dataChild,
|
|
175
|
+
});
|
|
164
176
|
break;
|
|
165
177
|
case data instanceof viewer_rendering_engine_camera_engine_1.AbstractCamera:
|
|
166
178
|
dataChild.SDtype = SDData_1.SD_DATA_TYPE.CAMERA;
|
|
@@ -186,9 +198,10 @@ class SceneTreeManager {
|
|
|
186
198
|
for (let i = 0, len = node.data.length; i < len; i++) {
|
|
187
199
|
if (node.data[i] instanceof viewer_shared_types_1.GeometryData) {
|
|
188
200
|
const data = node.data[i];
|
|
189
|
-
const dataChild = obj.children.find(oc => oc.SDid === data.id &&
|
|
201
|
+
const dataChild = (obj.children.find((oc) => oc.SDid === data.id &&
|
|
202
|
+
oc.SDversion === data.version));
|
|
190
203
|
if (dataChild)
|
|
191
|
-
dataChild.traverse(o => {
|
|
204
|
+
dataChild.traverse((o) => {
|
|
192
205
|
if (o instanceof THREE.Points ||
|
|
193
206
|
o instanceof THREE.LineSegments ||
|
|
194
207
|
o instanceof THREE.LineLoop ||
|
|
@@ -202,7 +215,7 @@ class SceneTreeManager {
|
|
|
202
215
|
const nodeChild = node.children[i];
|
|
203
216
|
if (!nodeChild)
|
|
204
217
|
continue;
|
|
205
|
-
const objChild = obj.children.find(oc => oc.SDid === nodeChild.id);
|
|
218
|
+
const objChild = (obj.children.find((oc) => oc.SDid === nodeChild.id));
|
|
206
219
|
if (objChild)
|
|
207
220
|
this.updateMorphWeights(nodeChild, objChild);
|
|
208
221
|
}
|
|
@@ -251,11 +264,11 @@ class SceneTreeManager {
|
|
|
251
264
|
node.boundingBoxViewport[this._renderingEngine.id].reset();
|
|
252
265
|
if (filter.transformationOnly === false) {
|
|
253
266
|
// remove all data items that do not exist anymore
|
|
254
|
-
const dataIds = node.data.map(d => d.id);
|
|
255
|
-
const dataToRemove = convertedObject.children.filter(oc => {
|
|
267
|
+
const dataIds = node.data.map((d) => d.id);
|
|
268
|
+
const dataToRemove = convertedObject.children.filter((oc) => {
|
|
256
269
|
if (oc instanceof SDData_1.SDData) {
|
|
257
270
|
if (dataIds.includes(oc.SDid)) {
|
|
258
|
-
const data = node.data.find(d => d.id === oc.SDid);
|
|
271
|
+
const data = node.data.find((d) => d.id === oc.SDid);
|
|
259
272
|
if (data && data.version !== oc.SDversion) {
|
|
260
273
|
// version is different
|
|
261
274
|
return true;
|
|
@@ -273,14 +286,16 @@ class SceneTreeManager {
|
|
|
273
286
|
return false;
|
|
274
287
|
}
|
|
275
288
|
});
|
|
276
|
-
dataToRemove.forEach(dTR => {
|
|
289
|
+
dataToRemove.forEach((dTR) => {
|
|
277
290
|
this.removeData(dTR);
|
|
278
291
|
convertedObject.remove(dTR);
|
|
279
292
|
});
|
|
280
293
|
// remove all child nodes in the transformed object that do not exist anymore
|
|
281
294
|
// the filter goes also through the data items as they were already added
|
|
282
|
-
const nodeIds = node.children
|
|
283
|
-
|
|
295
|
+
const nodeIds = node.children
|
|
296
|
+
.filter((d) => !d.excludeViewports.includes(this._renderingEngine.id))
|
|
297
|
+
.map((d) => d.id);
|
|
298
|
+
const childrenToRemove = convertedObject.children.filter((oc) => {
|
|
284
299
|
if (oc instanceof SDObject_1.SDObject && !(oc instanceof SDData_1.SDData)) {
|
|
285
300
|
if (nodeIds.includes(oc.SDid)) {
|
|
286
301
|
return false;
|
|
@@ -294,8 +309,8 @@ class SceneTreeManager {
|
|
|
294
309
|
return false;
|
|
295
310
|
}
|
|
296
311
|
});
|
|
297
|
-
childrenToRemove.forEach(cTR => {
|
|
298
|
-
cTR.traverse(o => {
|
|
312
|
+
childrenToRemove.forEach((cTR) => {
|
|
313
|
+
cTR.traverse((o) => {
|
|
299
314
|
if (o instanceof SDData_1.SDData)
|
|
300
315
|
this.removeData(o);
|
|
301
316
|
});
|
|
@@ -312,7 +327,10 @@ class SceneTreeManager {
|
|
|
312
327
|
boneInverses.push(new THREE.Matrix4().fromArray(node.boneInverses[i]));
|
|
313
328
|
skeleton = new THREE.Skeleton(bones, boneInverses);
|
|
314
329
|
}
|
|
315
|
-
const isVisible = node.visible &&
|
|
330
|
+
const isVisible = node.visible &&
|
|
331
|
+
!node.excludeViewports.includes(this._renderingEngine.id) &&
|
|
332
|
+
!(node.restrictViewports.length > 0 &&
|
|
333
|
+
!node.restrictViewports.includes(this._renderingEngine.id));
|
|
316
334
|
const isVisibleInHierarchy = visibleInHierarchy && isVisible;
|
|
317
335
|
// convert all data items of the current node
|
|
318
336
|
// old versions will be replaced by new ones
|
|
@@ -321,9 +339,11 @@ class SceneTreeManager {
|
|
|
321
339
|
// add new children and update the ones that have a different version
|
|
322
340
|
for (let i = 0, len = node.children.length; i < len; i++) {
|
|
323
341
|
const nodeChild = node.children[i];
|
|
324
|
-
const objChild = convertedObject.children.find(oc => oc.SDid === nodeChild.id);
|
|
342
|
+
const objChild = (convertedObject.children.find((oc) => oc.SDid === nodeChild.id));
|
|
325
343
|
if (!objChild) {
|
|
326
|
-
const newChild = node.data.find(d => d instanceof viewer_shared_types_1.BoneData)
|
|
344
|
+
const newChild = node.data.find((d) => d instanceof viewer_shared_types_1.BoneData)
|
|
345
|
+
? new SDBone_1.SDBone(nodeChild.id, nodeChild.version)
|
|
346
|
+
: new SDObject_1.SDObject(nodeChild.id, nodeChild.version);
|
|
327
347
|
const oldChild = nodeChild.convertedObject[this._renderingEngine.id];
|
|
328
348
|
nodeChild.convertedObject[this._renderingEngine.id] = newChild;
|
|
329
349
|
if (nodeChild.updateCallbackConvertedObject)
|
|
@@ -343,7 +363,8 @@ class SceneTreeManager {
|
|
|
343
363
|
if (!nodeChild.boundingBox.isEmpty())
|
|
344
364
|
node.boundingBox.union(nodeChild.boundingBox);
|
|
345
365
|
// adjust the specific BB
|
|
346
|
-
if (nodeChild.boundingBoxViewport[this._renderingEngine.id] &&
|
|
366
|
+
if (nodeChild.boundingBoxViewport[this._renderingEngine.id] &&
|
|
367
|
+
!nodeChild.boundingBoxViewport[this._renderingEngine.id].isEmpty()) {
|
|
347
368
|
// only do this if the node is
|
|
348
369
|
// 1. visible
|
|
349
370
|
// 2. no included in the "excludeViewports"
|
|
@@ -352,7 +373,11 @@ class SceneTreeManager {
|
|
|
352
373
|
node.boundingBoxViewport[this._renderingEngine.id].union(nodeChild.boundingBoxViewport[this._renderingEngine.id]);
|
|
353
374
|
}
|
|
354
375
|
}
|
|
355
|
-
convertedObject.visible =
|
|
376
|
+
convertedObject.visible =
|
|
377
|
+
node.visible &&
|
|
378
|
+
!node.excludeViewports.includes(this._renderingEngine.id) &&
|
|
379
|
+
!(node.restrictViewports.length > 0 &&
|
|
380
|
+
!node.restrictViewports.includes(this._renderingEngine.id));
|
|
356
381
|
convertedObject.applyTransformation(node.nodeMatrix);
|
|
357
382
|
}
|
|
358
383
|
updateSceneTree(root) {
|
|
@@ -381,30 +406,38 @@ class SceneTreeManager {
|
|
|
381
406
|
this._boundingBoxSensitiveData = [];
|
|
382
407
|
this._currentSDTFOverview = this.createSDTFOverview();
|
|
383
408
|
this.updateNode(root, this._mainNode);
|
|
384
|
-
this._boundingBox =
|
|
409
|
+
this._boundingBox =
|
|
410
|
+
root.boundingBoxViewport[this._renderingEngine.id].clone();
|
|
385
411
|
for (let i = 0; i < this._boundingBoxSensitiveData.length; i++)
|
|
386
412
|
this._renderingEngine.lightLoader.adjustToBoundingBox(this._boundingBoxSensitiveData[i].data, this._boundingBoxSensitiveData[i].dataChild, this._boundingBox);
|
|
387
|
-
if (!(this._boundingBox.min[0] === oldBB.min[0] &&
|
|
388
|
-
this._boundingBox.
|
|
389
|
-
|
|
413
|
+
if (!(this._boundingBox.min[0] === oldBB.min[0] &&
|
|
414
|
+
this._boundingBox.min[1] === oldBB.min[1] &&
|
|
415
|
+
this._boundingBox.min[2] === oldBB.min[2] &&
|
|
416
|
+
this._boundingBox.max[0] === oldBB.max[0] &&
|
|
417
|
+
this._boundingBox.max[1] === oldBB.max[1] &&
|
|
418
|
+
this._boundingBox.max[2] === oldBB.max[2])) {
|
|
419
|
+
if (!((_a = this._stateEngine.viewportEngines[this._renderingEngine.id]) === null || _a === void 0 ? void 0 : _a.boundingBoxCreated.resolved) &&
|
|
420
|
+
!this._boundingBox.isEmpty())
|
|
390
421
|
(_b = this._stateEngine.viewportEngines[this._renderingEngine.id]) === null || _b === void 0 ? void 0 : _b.boundingBoxCreated.resolve(true);
|
|
391
422
|
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.SCENE.SCENE_BOUNDING_BOX_CHANGE, {
|
|
392
|
-
viewportId: this._renderingEngine.id,
|
|
423
|
+
viewportId: this._renderingEngine.id,
|
|
424
|
+
boundingBox: {
|
|
393
425
|
min: gl_matrix_1.vec3.clone(this._boundingBox.min),
|
|
394
426
|
max: gl_matrix_1.vec3.clone(this._boundingBox.max),
|
|
395
|
-
}
|
|
427
|
+
},
|
|
396
428
|
});
|
|
397
429
|
}
|
|
398
430
|
if (this._boundingBox.isEmpty()) {
|
|
399
431
|
// check if all outputs that should be loaded at the start of a session are loaded
|
|
400
432
|
// if the bounding box is empty then, emit the event
|
|
401
|
-
if (Object.values(this._stateEngine.sessionEngines).every(s => s && s.initialOutputsLoaded.resolved === true)) {
|
|
433
|
+
if (Object.values(this._stateEngine.sessionEngines).every((s) => s && s.initialOutputsLoaded.resolved === true)) {
|
|
402
434
|
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.SCENE.SCENE_BOUNDING_BOX_EMPTY, {
|
|
403
|
-
viewportId: this._renderingEngine.id
|
|
435
|
+
viewportId: this._renderingEngine.id,
|
|
404
436
|
});
|
|
405
437
|
}
|
|
406
438
|
}
|
|
407
|
-
this._renderingEngine.renderingManager.evaluateTextureUnitCount(this._renderingEngine.lightLoader.shadowMapCount +
|
|
439
|
+
this._renderingEngine.renderingManager.evaluateTextureUnitCount(this._renderingEngine.lightLoader.shadowMapCount +
|
|
440
|
+
this._renderingEngine.materialLoader.maxMapCount);
|
|
408
441
|
/**
|
|
409
442
|
*
|
|
410
443
|
* Three.js texture upload and compiling
|
|
@@ -456,19 +489,22 @@ class SceneTreeManager {
|
|
|
456
489
|
injectAttributeData(node, data) {
|
|
457
490
|
const itemData = this.collectSDTFItemData(node);
|
|
458
491
|
const visData = {
|
|
459
|
-
material: new viewer_shared_types_1.MaterialStandardData({
|
|
460
|
-
|
|
492
|
+
material: new viewer_shared_types_1.MaterialStandardData({
|
|
493
|
+
color: this._renderingEngine.defaultMaterialColor,
|
|
494
|
+
opacity: 1,
|
|
495
|
+
}),
|
|
496
|
+
matrix: gl_matrix_1.mat4.create(),
|
|
461
497
|
};
|
|
462
498
|
if (this._renderingEngine.visualizeAttributes) {
|
|
463
499
|
const userVisData = this._renderingEngine.visualizeAttributes(this._currentSDTFOverview, itemData);
|
|
464
|
-
this._inputValidator.validateAndError(
|
|
465
|
-
this._inputValidator.validateAndError(
|
|
500
|
+
this._inputValidator.validateAndError("Viewer.visualizeAttributes", userVisData, "object", true);
|
|
501
|
+
this._inputValidator.validateAndError("Viewer.visualizeAttributes", userVisData.matrix, "mat4", true);
|
|
466
502
|
visData.material = userVisData.material;
|
|
467
503
|
visData.matrix = userVisData.matrix;
|
|
468
504
|
}
|
|
469
505
|
node.addTransformation({
|
|
470
|
-
id:
|
|
471
|
-
matrix: visData.matrix
|
|
506
|
+
id: "sdtf",
|
|
507
|
+
matrix: visData.matrix,
|
|
472
508
|
});
|
|
473
509
|
if (data instanceof viewer_shared_types_1.GeometryData)
|
|
474
510
|
data.attributeMaterial = visData.material;
|
|
@@ -483,15 +519,23 @@ class SceneTreeManager {
|
|
|
483
519
|
if (dataObject.id !== o.id && o.userData.removed === true)
|
|
484
520
|
return;
|
|
485
521
|
o.userData.removed = true;
|
|
486
|
-
if (o instanceof THREE.Mesh ||
|
|
522
|
+
if (o instanceof THREE.Mesh ||
|
|
523
|
+
o instanceof THREE.Line ||
|
|
524
|
+
o instanceof THREE.Points ||
|
|
525
|
+
o instanceof THREE.LineSegments ||
|
|
526
|
+
o instanceof THREE.LineLoop) {
|
|
487
527
|
this.scene.remove(o);
|
|
488
|
-
this._renderingEngine.geometryLoader.removeFromGeometryCache(o.geometry.userData.SDid +
|
|
489
|
-
|
|
528
|
+
this._renderingEngine.geometryLoader.removeFromGeometryCache(o.geometry.userData.SDid +
|
|
529
|
+
"_" +
|
|
530
|
+
o.geometry.userData.SDversion);
|
|
531
|
+
this._renderingEngine.materialLoader.removeFromMaterialCache(o.material.userData.SDid +
|
|
532
|
+
"_" +
|
|
533
|
+
o.material.userData.SDversion);
|
|
490
534
|
const texturesToRemove = [];
|
|
491
535
|
for (const t in o.material) {
|
|
492
536
|
if (o.material[t] instanceof THREE.Texture) {
|
|
493
537
|
o.material[t].name = t;
|
|
494
|
-
if (t !==
|
|
538
|
+
if (t !== "envMap") {
|
|
495
539
|
if (!texturesToRemove.includes(o.material[t]))
|
|
496
540
|
texturesToRemove.push(o.material[t]);
|
|
497
541
|
}
|
|
@@ -499,11 +543,15 @@ class SceneTreeManager {
|
|
|
499
543
|
}
|
|
500
544
|
for (const texture of texturesToRemove) {
|
|
501
545
|
if (texture.userData.cacheKey) {
|
|
502
|
-
this._renderingEngine.materialLoader
|
|
546
|
+
this._renderingEngine.materialLoader
|
|
547
|
+
.threeJsTextureCache[texture.userData.cacheKey].usage--;
|
|
503
548
|
}
|
|
504
549
|
else {
|
|
505
|
-
if (texture.name ===
|
|
506
|
-
this._renderingEngine.geometryLoader.removeFromGemSphericalMapsCache(o.geometry.userData.primitiveSDid +
|
|
550
|
+
if (texture.name === "sphericalNormalMap") {
|
|
551
|
+
this._renderingEngine.geometryLoader.removeFromGemSphericalMapsCache(o.geometry.userData.primitiveSDid +
|
|
552
|
+
"_" +
|
|
553
|
+
o.geometry.userData
|
|
554
|
+
.primitiveSDversion);
|
|
507
555
|
texture.dispose();
|
|
508
556
|
}
|
|
509
557
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneTreeManager.js","sourceRoot":"","sources":["../../src/managers/SceneTreeManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SceneTreeManager.js","sourceRoot":"","sources":["../../src/managers/SceneTreeManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { vec3 } from
|
|
2
|
-
import { SDObject } from
|
|
3
|
-
import { RenderingEngine } from
|
|
4
|
-
import { IEnvironmentGeometry } from
|
|
1
|
+
import { vec3 } from "gl-matrix";
|
|
2
|
+
import { SDObject } from "../../objects/SDObject";
|
|
3
|
+
import { RenderingEngine } from "../../RenderingEngine";
|
|
4
|
+
import { IEnvironmentGeometry } from "./IEnvironmentGeometry";
|
|
5
5
|
export declare class ContactShadow implements IEnvironmentGeometry {
|
|
6
6
|
private readonly _renderingEngine;
|
|
7
7
|
private readonly _parent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactShadow.d.ts","sourceRoot":"","sources":["../../../src/managers/environmentGeometry/ContactShadow.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ContactShadow.d.ts","sourceRoot":"","sources":["../../../src/managers/environmentGeometry/ContactShadow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAK/B,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAE5D,qBAAa,aAAc,YAAW,oBAAoB;IAsCxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IApCzB,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,UAAU,CAIhB;IACF,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,UAAU,CAIhB;IACF,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,uBAAuB,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAIZ;IACF,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,iBAAiB,CAA0C;IACnE,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,mBAAmB,CAAa;gBAOtB,gBAAgB,EAAE,eAAe,EACjC,OAAO,EAAE,QAAQ;IAanC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAE5B;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAGhC;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAO9B;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAG/B;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,OAAO,EAEhC;IAMM,kBAAkB,CACxB,QAAQ,EAAE,IAAI,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACjB,IAAI;IAwCA,MAAM;IAyEN,cAAc,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAY3C,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,mBAAmB;CA+F3B"}
|