@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
package/dist/RenderingEngine.js
CHANGED
|
@@ -39,37 +39,37 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
39
39
|
var _RenderingEngine_defaultLogo, _RenderingEngine_defaultLogoStatic, _RenderingEngine_defaultSpinner, _RenderingEngine_animations, _RenderingEngine_flags;
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
41
|
exports.RenderingEngine = void 0;
|
|
42
|
-
const THREE = __importStar(require("three"));
|
|
43
|
-
const MaterialLoader_1 = require("./loaders/MaterialLoader");
|
|
44
42
|
const viewer_rendering_engine_animation_engine_1 = require("@shapediver/viewer.rendering-engine.animation-engine");
|
|
45
|
-
const
|
|
46
|
-
const CameraManager_1 = require("./managers/CameraManager");
|
|
43
|
+
const viewer_rendering_engine_camera_engine_1 = require("@shapediver/viewer.rendering-engine.camera-engine");
|
|
47
44
|
const viewer_rendering_engine_canvas_engine_1 = require("@shapediver/viewer.rendering-engine.canvas-engine");
|
|
48
|
-
const
|
|
49
|
-
const
|
|
45
|
+
const viewer_rendering_engine_intersection_engine_1 = require("@shapediver/viewer.rendering-engine.intersection-engine");
|
|
46
|
+
const viewer_rendering_engine_light_engine_1 = require("@shapediver/viewer.rendering-engine.light-engine");
|
|
47
|
+
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
48
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
49
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
50
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
51
|
+
const THREE = __importStar(require("three"));
|
|
50
52
|
const EnvironmentMapLoader_1 = require("./loaders/EnvironmentMapLoader");
|
|
51
53
|
const GeometryLoader_1 = require("./loaders/GeometryLoader");
|
|
52
54
|
const HTMLElementAnchorLoader_1 = require("./loaders/HTMLElementAnchorLoader");
|
|
53
|
-
const viewer_rendering_engine_intersection_engine_1 = require("@shapediver/viewer.rendering-engine.intersection-engine");
|
|
54
|
-
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
55
|
-
const viewer_rendering_engine_light_engine_1 = require("@shapediver/viewer.rendering-engine.light-engine");
|
|
56
55
|
const LightLoader_1 = require("./loaders/LightLoader");
|
|
56
|
+
const MaterialLoader_1 = require("./loaders/MaterialLoader");
|
|
57
|
+
const CameraManager_1 = require("./managers/CameraManager");
|
|
58
|
+
const EnvironmentGeometryManager_1 = require("./managers/EnvironmentGeometryManager");
|
|
57
59
|
const PostProcessingManager_1 = require("./managers/PostProcessingManager");
|
|
58
|
-
const gl_matrix_1 = require("gl-matrix");
|
|
59
60
|
const RenderingManager_1 = require("./managers/RenderingManager");
|
|
60
61
|
const SceneTracingManager_1 = require("./managers/SceneTracingManager");
|
|
61
62
|
const SceneTreeManager_1 = require("./managers/SceneTreeManager");
|
|
62
63
|
const SDColor_1 = require("./objects/SDColor");
|
|
63
|
-
const
|
|
64
|
-
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
64
|
+
const viewport_css_1 = require("./styling/viewport-css");
|
|
65
65
|
class RenderingEngine {
|
|
66
66
|
// #endregion Properties (76)
|
|
67
67
|
// #region Constructors (1)
|
|
68
68
|
constructor(properties) {
|
|
69
69
|
// #region Properties (76)
|
|
70
|
-
_RenderingEngine_defaultLogo.set(this,
|
|
71
|
-
_RenderingEngine_defaultLogoStatic.set(this,
|
|
72
|
-
_RenderingEngine_defaultSpinner.set(this,
|
|
70
|
+
_RenderingEngine_defaultLogo.set(this, "https://viewer.shapediver.com/v3/graphics/logo_animated_breath.svg");
|
|
71
|
+
_RenderingEngine_defaultLogoStatic.set(this, "https://viewer.shapediver.com/v3/graphics/logo.png");
|
|
72
|
+
_RenderingEngine_defaultSpinner.set(this, "https://viewer.shapediver.com/v3/graphics/spinner_ripple.svg");
|
|
73
73
|
this._animationEngine = viewer_rendering_engine_animation_engine_1.AnimationEngine.instance;
|
|
74
74
|
this._canvasEngine = viewer_rendering_engine_canvas_engine_1.CanvasEngine.instance;
|
|
75
75
|
this._colorCache = [];
|
|
@@ -87,7 +87,7 @@ class RenderingEngine {
|
|
|
87
87
|
[viewer_shared_types_1.FLAG_TYPE.CAMERA_FREEZE]: [],
|
|
88
88
|
[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_RENDERING]: [],
|
|
89
89
|
[viewer_shared_types_1.FLAG_TYPE.CONTINUOUS_SHADOW_MAP_UPDATE]: [],
|
|
90
|
-
[viewer_shared_types_1.FLAG_TYPE.SUSPEND_SCENE_UPDATES]: []
|
|
90
|
+
[viewer_shared_types_1.FLAG_TYPE.SUSPEND_SCENE_UPDATES]: [],
|
|
91
91
|
});
|
|
92
92
|
// settings
|
|
93
93
|
this._arRotation = gl_matrix_1.vec3.create();
|
|
@@ -100,22 +100,25 @@ class RenderingEngine {
|
|
|
100
100
|
this._busy = false;
|
|
101
101
|
this._busyModeDisplay = viewer_shared_types_1.BUSY_MODE_DISPLAY.SPINNER;
|
|
102
102
|
this._clearAlpha = 1.0;
|
|
103
|
-
this._clearColor =
|
|
103
|
+
this._clearColor = "#ffffff";
|
|
104
104
|
// viewer global vars
|
|
105
105
|
this._closed = false;
|
|
106
106
|
this._enableAR = true;
|
|
107
|
-
this._environmentMap =
|
|
107
|
+
this._environmentMap = "null";
|
|
108
108
|
this._environmentMapAsBackground = false;
|
|
109
109
|
this._environmentMapBlurriness = 0;
|
|
110
110
|
this._environmentMapForUnlitMaterials = false;
|
|
111
111
|
this._environmentMapIntensity = 1;
|
|
112
|
-
this._environmentMapResolution =
|
|
112
|
+
this._environmentMapResolution = "1024";
|
|
113
113
|
this._environmentMapRotation = gl_matrix_1.quat.create();
|
|
114
114
|
this._gridVisibility = true;
|
|
115
115
|
this._groundPlaneShadowVisibility = false;
|
|
116
116
|
this._groundPlaneVisibility = true;
|
|
117
117
|
this._lights = true;
|
|
118
|
-
this._maximumRenderingSize = this
|
|
118
|
+
this._maximumRenderingSize = this
|
|
119
|
+
._systemInfo.isMobile
|
|
120
|
+
? { width: 1280, height: 720 }
|
|
121
|
+
: { width: 1920, height: 1080 };
|
|
119
122
|
this._pause = false;
|
|
120
123
|
this._shadows = true;
|
|
121
124
|
this._show = false;
|
|
@@ -130,23 +133,26 @@ class RenderingEngine {
|
|
|
130
133
|
// adapt some of the three.js shaders according to our needs
|
|
131
134
|
(0, MaterialLoader_1.adaptShaders)();
|
|
132
135
|
// add css to the document
|
|
133
|
-
const style = document.createElement(
|
|
136
|
+
const style = document.createElement("style");
|
|
134
137
|
style.innerHTML = viewport_css_1.css;
|
|
135
138
|
document.head.appendChild(style);
|
|
136
139
|
const prop = Object.assign({}, properties);
|
|
137
140
|
const branding = Object.assign({}, prop.branding);
|
|
138
141
|
// setting some of the provided properties
|
|
139
|
-
this._id = prop.id ||
|
|
142
|
+
this._id = prop.id || viewer_shared_services_1.UuidGenerator.instance.create();
|
|
140
143
|
this._visibilitySessionIds = prop.visibilitySessionIds;
|
|
141
144
|
this._visibility = prop.visibility || viewer_shared_types_1.VISIBILITY_MODE.SESSION;
|
|
142
|
-
this._sessionSettingsMode =
|
|
145
|
+
this._sessionSettingsMode =
|
|
146
|
+
prop.sessionSettingsMode || viewer_shared_services_1.SESSION_SETTINGS_MODE.FIRST;
|
|
143
147
|
this._sessionSettingsId = prop.sessionSettingsId;
|
|
144
148
|
this._branding = {
|
|
145
149
|
logo: branding.logo === undefined ? __classPrivateFieldGet(this, _RenderingEngine_defaultLogo, "f") : branding.logo,
|
|
146
|
-
backgroundColor: branding.backgroundColor ||
|
|
147
|
-
busyModeSpinner: branding.busyModeSpinner === undefined
|
|
150
|
+
backgroundColor: branding.backgroundColor || "#393a45FF",
|
|
151
|
+
busyModeSpinner: branding.busyModeSpinner === undefined
|
|
152
|
+
? __classPrivateFieldGet(this, _RenderingEngine_defaultSpinner, "f")
|
|
153
|
+
: branding.busyModeSpinner,
|
|
148
154
|
busyModeDisplay: branding.busyModeDisplay || viewer_shared_types_1.BUSY_MODE_DISPLAY.SPINNER,
|
|
149
|
-
spinnerPositioning: branding.spinnerPositioning || viewer_shared_types_1.SPINNER_POSITIONING.BOTTOM_RIGHT
|
|
155
|
+
spinnerPositioning: branding.spinnerPositioning || viewer_shared_types_1.SPINNER_POSITIONING.BOTTOM_RIGHT,
|
|
150
156
|
};
|
|
151
157
|
// creation of viewer essentials
|
|
152
158
|
this._canvas = this._canvasEngine.getCanvas(this._canvasEngine.createCanvasObject(prop.canvas));
|
|
@@ -167,7 +173,7 @@ class RenderingEngine {
|
|
|
167
173
|
this._geometryLoader = new GeometryLoader_1.GeometryLoader(this);
|
|
168
174
|
this._htmlElementAnchorLoader = new HTMLElementAnchorLoader_1.HTMLElementAnchorLoader(this);
|
|
169
175
|
this._lightLoader = new LightLoader_1.LightLoader(this);
|
|
170
|
-
// start the creation and initialization process
|
|
176
|
+
// start the creation and initialization process
|
|
171
177
|
this._renderer = this.renderingManager.createRenderer(this._canvas.canvasElement);
|
|
172
178
|
this._spinnerDivElement = this.renderingManager.addSpinner(this._canvas.canvasElement, this._branding);
|
|
173
179
|
this._logoDivElement = this.renderingManager.addLogo(this._canvas.canvasElement, this._branding);
|
|
@@ -212,7 +218,7 @@ class RenderingEngine {
|
|
|
212
218
|
if (this._automaticColorAdjustment === value)
|
|
213
219
|
return;
|
|
214
220
|
this._automaticColorAdjustment = value;
|
|
215
|
-
this._colorCache.forEach(c => c.colorCorrection(value));
|
|
221
|
+
this._colorCache.forEach((c) => c.colorCorrection(value));
|
|
216
222
|
this._materialLoader.assignColorCorrection(value);
|
|
217
223
|
}
|
|
218
224
|
get automaticResizing() {
|
|
@@ -388,7 +394,8 @@ class RenderingEngine {
|
|
|
388
394
|
}
|
|
389
395
|
set environmentMapBlurriness(value) {
|
|
390
396
|
this._environmentMapBlurriness = value;
|
|
391
|
-
this._sceneTreeManager.scene.backgroundBlurriness =
|
|
397
|
+
this._sceneTreeManager.scene.backgroundBlurriness =
|
|
398
|
+
this._environmentMapBlurriness;
|
|
392
399
|
}
|
|
393
400
|
get environmentMapForUnlitMaterials() {
|
|
394
401
|
return this._environmentMapForUnlitMaterials;
|
|
@@ -484,10 +491,14 @@ class RenderingEngine {
|
|
|
484
491
|
return this._lightLoader;
|
|
485
492
|
}
|
|
486
493
|
get lightScene() {
|
|
487
|
-
return this.lightEngine.lightScene
|
|
494
|
+
return this.lightEngine.lightScene
|
|
495
|
+
? this.lightEngine.lightScene.id
|
|
496
|
+
: "";
|
|
488
497
|
}
|
|
489
498
|
get lightSceneId() {
|
|
490
|
-
return this.lightEngine.lightScene
|
|
499
|
+
return this.lightEngine.lightScene
|
|
500
|
+
? this.lightEngine.lightScene.id
|
|
501
|
+
: "";
|
|
491
502
|
}
|
|
492
503
|
get lights() {
|
|
493
504
|
return this._lights;
|
|
@@ -518,19 +529,19 @@ class RenderingEngine {
|
|
|
518
529
|
}
|
|
519
530
|
get outputEncoding() {
|
|
520
531
|
switch (this._renderer.outputColorSpace) {
|
|
521
|
-
case
|
|
532
|
+
case THREE.SRGBColorSpace:
|
|
522
533
|
return viewer_shared_types_1.TEXTURE_ENCODING.SRGB;
|
|
523
|
-
case
|
|
534
|
+
case THREE.LinearSRGBColorSpace:
|
|
524
535
|
default:
|
|
525
536
|
return viewer_shared_types_1.TEXTURE_ENCODING.LINEAR;
|
|
526
537
|
}
|
|
527
538
|
}
|
|
528
539
|
set outputEncoding(value) {
|
|
529
540
|
switch (value) {
|
|
530
|
-
case
|
|
541
|
+
case viewer_shared_types_1.TEXTURE_ENCODING.SRGB:
|
|
531
542
|
this._renderer.outputColorSpace = THREE.SRGBColorSpace;
|
|
532
543
|
break;
|
|
533
|
-
case
|
|
544
|
+
case viewer_shared_types_1.TEXTURE_ENCODING.LINEAR:
|
|
534
545
|
default:
|
|
535
546
|
this._renderer.outputColorSpace = THREE.LinearSRGBColorSpace;
|
|
536
547
|
break;
|
|
@@ -635,23 +646,26 @@ class RenderingEngine {
|
|
|
635
646
|
}
|
|
636
647
|
get textureEncoding() {
|
|
637
648
|
switch (this.materialLoader.textureEncoding) {
|
|
638
|
-
case
|
|
649
|
+
case THREE.SRGBColorSpace:
|
|
639
650
|
return viewer_shared_types_1.TEXTURE_ENCODING.SRGB;
|
|
640
|
-
case
|
|
651
|
+
case THREE.LinearSRGBColorSpace:
|
|
641
652
|
default:
|
|
642
653
|
return viewer_shared_types_1.TEXTURE_ENCODING.LINEAR;
|
|
643
654
|
}
|
|
644
655
|
}
|
|
645
656
|
set textureEncoding(value) {
|
|
646
657
|
switch (value) {
|
|
647
|
-
case
|
|
648
|
-
this.environmentMapLoader.textureEncoding =
|
|
658
|
+
case viewer_shared_types_1.TEXTURE_ENCODING.SRGB:
|
|
659
|
+
this.environmentMapLoader.textureEncoding =
|
|
660
|
+
THREE.SRGBColorSpace;
|
|
649
661
|
this.materialLoader.textureEncoding = THREE.SRGBColorSpace;
|
|
650
662
|
break;
|
|
651
|
-
case
|
|
663
|
+
case viewer_shared_types_1.TEXTURE_ENCODING.LINEAR:
|
|
652
664
|
default:
|
|
653
|
-
this.environmentMapLoader.textureEncoding =
|
|
654
|
-
|
|
665
|
+
this.environmentMapLoader.textureEncoding =
|
|
666
|
+
THREE.LinearSRGBColorSpace;
|
|
667
|
+
this.materialLoader.textureEncoding =
|
|
668
|
+
THREE.LinearSRGBColorSpace;
|
|
655
669
|
}
|
|
656
670
|
}
|
|
657
671
|
get toneMapping() {
|
|
@@ -660,19 +674,19 @@ class RenderingEngine {
|
|
|
660
674
|
set toneMapping(value) {
|
|
661
675
|
this._toneMapping = value;
|
|
662
676
|
switch (value) {
|
|
663
|
-
case
|
|
677
|
+
case viewer_shared_types_1.TONE_MAPPING.LINEAR:
|
|
664
678
|
this._renderer.toneMapping = THREE.LinearToneMapping;
|
|
665
679
|
break;
|
|
666
|
-
case
|
|
680
|
+
case viewer_shared_types_1.TONE_MAPPING.REINHARD:
|
|
667
681
|
this._renderer.toneMapping = THREE.ReinhardToneMapping;
|
|
668
682
|
break;
|
|
669
|
-
case
|
|
683
|
+
case viewer_shared_types_1.TONE_MAPPING.CINEON:
|
|
670
684
|
this._renderer.toneMapping = THREE.CineonToneMapping;
|
|
671
685
|
break;
|
|
672
|
-
case
|
|
686
|
+
case viewer_shared_types_1.TONE_MAPPING.ACES_FILMIC:
|
|
673
687
|
this._renderer.toneMapping = THREE.ACESFilmicToneMapping;
|
|
674
688
|
break;
|
|
675
|
-
case
|
|
689
|
+
case viewer_shared_types_1.TONE_MAPPING.NONE:
|
|
676
690
|
default:
|
|
677
691
|
this._renderer.toneMapping = THREE.NoToneMapping;
|
|
678
692
|
}
|
|
@@ -724,7 +738,7 @@ class RenderingEngine {
|
|
|
724
738
|
light: true,
|
|
725
739
|
environment: true,
|
|
726
740
|
general: true,
|
|
727
|
-
postprocessing: true
|
|
741
|
+
postprocessing: true,
|
|
728
742
|
}, settingsEngine, updateViewport = true) {
|
|
729
743
|
return __awaiter(this, void 0, void 0, function* () {
|
|
730
744
|
settingsEngine = settingsEngine || this._settingsEngine;
|
|
@@ -740,12 +754,21 @@ class RenderingEngine {
|
|
|
740
754
|
try {
|
|
741
755
|
if (!settingsEngine)
|
|
742
756
|
return;
|
|
743
|
-
this.environmentMapAsBackground =
|
|
744
|
-
|
|
757
|
+
this.environmentMapAsBackground =
|
|
758
|
+
settingsEngine.environment.mapAsBackground;
|
|
759
|
+
this.clearAlpha =
|
|
760
|
+
settingsEngine.environment.clearAlpha;
|
|
745
761
|
this.clearColor = this._converter.toHexColor(settingsEngine.environment.clearColor);
|
|
746
|
-
this.environmentMapRotation = [
|
|
747
|
-
|
|
748
|
-
|
|
762
|
+
this.environmentMapRotation = [
|
|
763
|
+
settingsEngine.environment.rotation.x,
|
|
764
|
+
settingsEngine.environment.rotation.y,
|
|
765
|
+
settingsEngine.environment.rotation.z,
|
|
766
|
+
settingsEngine.environment.rotation.w,
|
|
767
|
+
];
|
|
768
|
+
this.environmentMapBlurriness =
|
|
769
|
+
settingsEngine.environment.blurriness;
|
|
770
|
+
this.environmentMapIntensity =
|
|
771
|
+
settingsEngine.environment.intensity;
|
|
749
772
|
this.applySyncSettings(sections, settingsEngine, updateViewport);
|
|
750
773
|
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE_VIEWPORT.VIEWPORT_SETTINGS_LOADED, { viewportId: this.id });
|
|
751
774
|
resolve();
|
|
@@ -753,9 +776,10 @@ class RenderingEngine {
|
|
|
753
776
|
catch (e) {
|
|
754
777
|
reject(e);
|
|
755
778
|
}
|
|
756
|
-
}).catch(e => reject(e));
|
|
779
|
+
}).catch((e) => reject(e));
|
|
757
780
|
// set it like this to not trigger the loading
|
|
758
|
-
this.environmentMap =
|
|
781
|
+
this.environmentMap =
|
|
782
|
+
this.environmentMapLoader.reconstructSavedEnvironmentMapContent(settingsEngine.environment.map);
|
|
759
783
|
}));
|
|
760
784
|
yield Promise.all(promises);
|
|
761
785
|
}
|
|
@@ -807,13 +831,14 @@ class RenderingEngine {
|
|
|
807
831
|
}
|
|
808
832
|
displayErrorMessage(message) {
|
|
809
833
|
for (let i = 0; i < this.logoDivElement.children.length; i++)
|
|
810
|
-
this.logoDivElement.children[i].style.visibility =
|
|
811
|
-
|
|
812
|
-
d.
|
|
834
|
+
this.logoDivElement.children[i].style.visibility =
|
|
835
|
+
"hidden";
|
|
836
|
+
const d = document.createElement("div");
|
|
837
|
+
d.classList.add("sdv-error-message-container");
|
|
813
838
|
this.logoDivElement.appendChild(d);
|
|
814
|
-
const p = document.createElement(
|
|
839
|
+
const p = document.createElement("p");
|
|
815
840
|
p.textContent = message;
|
|
816
|
-
p.classList.add(
|
|
841
|
+
p.classList.add("sdv-error-message");
|
|
817
842
|
p.style.color = this.logoDivElement.style.backgroundColor;
|
|
818
843
|
d.appendChild(p);
|
|
819
844
|
}
|
|
@@ -821,7 +846,8 @@ class RenderingEngine {
|
|
|
821
846
|
// busy
|
|
822
847
|
{
|
|
823
848
|
const currentBusyState = this.busy;
|
|
824
|
-
if (this.stateEngine.viewportEngines[this.id] &&
|
|
849
|
+
if (this.stateEngine.viewportEngines[this.id] &&
|
|
850
|
+
this.stateEngine.viewportEngines[this.id].busy.length > 0) {
|
|
825
851
|
if (!currentBusyState) {
|
|
826
852
|
this.busy = true;
|
|
827
853
|
this._renderingManager.render();
|
|
@@ -899,13 +925,16 @@ class RenderingEngine {
|
|
|
899
925
|
}
|
|
900
926
|
isMobileDeviceWithoutBrowserARSupport() {
|
|
901
927
|
// has to be a mobile device (duh)
|
|
902
|
-
if (this._systemInfo.isIOS === false &&
|
|
928
|
+
if (this._systemInfo.isIOS === false &&
|
|
929
|
+
this._systemInfo.isAndroid === false)
|
|
903
930
|
return false;
|
|
904
931
|
// no Firefox on Android
|
|
905
|
-
if (this._systemInfo.isAndroid === true &&
|
|
932
|
+
if (this._systemInfo.isAndroid === true &&
|
|
933
|
+
this._systemInfo.isFirefox === true)
|
|
906
934
|
return true;
|
|
907
935
|
// no Instagram on iOS
|
|
908
|
-
if (this._systemInfo.isIOS === true &&
|
|
936
|
+
if (this._systemInfo.isIOS === true &&
|
|
937
|
+
this._systemInfo.isInstagram === true)
|
|
909
938
|
return true;
|
|
910
939
|
return false;
|
|
911
940
|
}
|
|
@@ -917,11 +946,11 @@ class RenderingEngine {
|
|
|
917
946
|
}
|
|
918
947
|
raytraceScene(origin, direction, filterCriteria) {
|
|
919
948
|
const intersect = this._intersectionManager.intersect({ origin, direction }, this.id, filterCriteria);
|
|
920
|
-
return intersect.map(i => {
|
|
949
|
+
return intersect.map((i) => {
|
|
921
950
|
return {
|
|
922
951
|
distance: i.distance,
|
|
923
952
|
node: i.node,
|
|
924
|
-
data: i.geometryData
|
|
953
|
+
data: i.geometryData,
|
|
925
954
|
};
|
|
926
955
|
});
|
|
927
956
|
}
|
|
@@ -930,7 +959,8 @@ class RenderingEngine {
|
|
|
930
959
|
const Flags = Object.values(viewer_shared_types_1.FLAG_TYPE);
|
|
931
960
|
for (const f of Flags) {
|
|
932
961
|
if (f === viewer_shared_types_1.FLAG_TYPE.BUSY_MODE) {
|
|
933
|
-
if (this.stateEngine.viewportEngines[this.id] &&
|
|
962
|
+
if (this.stateEngine.viewportEngines[this.id] &&
|
|
963
|
+
this.stateEngine.viewportEngines[this.id].busy.includes(token)) {
|
|
934
964
|
this.stateEngine.viewportEngines[this.id].busy.splice(this.stateEngine.viewportEngines[this.id].busy.indexOf(token), 1);
|
|
935
965
|
success = true;
|
|
936
966
|
break;
|
|
@@ -968,39 +998,74 @@ class RenderingEngine {
|
|
|
968
998
|
this.cameraEngine.saveSettings(settingsEngine);
|
|
969
999
|
this.postProcessingManager.saveSettings(settingsEngine);
|
|
970
1000
|
settingsEngine.ar.enable = this.enableAR;
|
|
971
|
-
settingsEngine.environment.mapResolution =
|
|
972
|
-
|
|
973
|
-
settingsEngine.environment.
|
|
1001
|
+
settingsEngine.environment.mapResolution =
|
|
1002
|
+
this.environmentMapResolution;
|
|
1003
|
+
settingsEngine.environment.map =
|
|
1004
|
+
this._environmentMapLoader.createSaveableEnvironmentMapContent(this.environmentMap);
|
|
1005
|
+
settingsEngine.environment.mapAsBackground =
|
|
1006
|
+
this.environmentMapAsBackground;
|
|
974
1007
|
settingsEngine.environment.clearAlpha = this.clearAlpha;
|
|
975
1008
|
settingsEngine.environment.clearColor = this._converter.toHexColor(this.clearColor);
|
|
976
|
-
settingsEngine.environment.rotation = {
|
|
1009
|
+
settingsEngine.environment.rotation = {
|
|
1010
|
+
x: this.environmentMapRotation[0],
|
|
1011
|
+
y: this.environmentMapRotation[1],
|
|
1012
|
+
z: this.environmentMapRotation[2],
|
|
1013
|
+
w: this.environmentMapRotation[3],
|
|
1014
|
+
};
|
|
977
1015
|
settingsEngine.environment.blurriness = this.environmentMapBlurriness;
|
|
978
1016
|
settingsEngine.environment.intensity = this.environmentMapIntensity;
|
|
979
1017
|
settingsEngine.environmentGeometry.gridVisibility = this.gridVisibility;
|
|
980
|
-
settingsEngine.environmentGeometry.groundPlaneVisibility =
|
|
981
|
-
|
|
982
|
-
settingsEngine.environmentGeometry.
|
|
983
|
-
|
|
984
|
-
settingsEngine.environmentGeometry.
|
|
985
|
-
|
|
986
|
-
settingsEngine.environmentGeometry.
|
|
987
|
-
|
|
988
|
-
settingsEngine.environmentGeometry.
|
|
989
|
-
|
|
1018
|
+
settingsEngine.environmentGeometry.groundPlaneVisibility =
|
|
1019
|
+
this.groundPlaneVisibility;
|
|
1020
|
+
settingsEngine.environmentGeometry.groundPlaneShadowVisibility =
|
|
1021
|
+
this.groundPlaneShadowVisibility;
|
|
1022
|
+
settingsEngine.environmentGeometry.gridColor =
|
|
1023
|
+
this._converter.toHexColor(this.gridColor);
|
|
1024
|
+
settingsEngine.environmentGeometry.groundPlaneColor =
|
|
1025
|
+
this._converter.toHexColor(this.groundPlaneColor);
|
|
1026
|
+
settingsEngine.environmentGeometry.groundPlaneShadowColor =
|
|
1027
|
+
this._converter.toHexColor(this.groundPlaneShadowColor);
|
|
1028
|
+
settingsEngine.environmentGeometry.contactShadowBlur =
|
|
1029
|
+
this.contactShadowBlur;
|
|
1030
|
+
settingsEngine.environmentGeometry.contactShadowDarkness =
|
|
1031
|
+
this.contactShadowDarkness;
|
|
1032
|
+
settingsEngine.environmentGeometry.contactShadowHeight =
|
|
1033
|
+
this.contactShadowHeight;
|
|
1034
|
+
settingsEngine.environmentGeometry.contactShadowOpacity =
|
|
1035
|
+
this.contactShadowOpacity;
|
|
1036
|
+
settingsEngine.environmentGeometry.contactShadowVisibility =
|
|
1037
|
+
this.contactShadowVisibility;
|
|
990
1038
|
settingsEngine.general.pointSize = this.pointSize;
|
|
991
|
-
settingsEngine.general.transformation.rotation = {
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
settingsEngine.
|
|
1039
|
+
settingsEngine.general.transformation.rotation = {
|
|
1040
|
+
x: this.arRotation[0],
|
|
1041
|
+
y: this.arRotation[1],
|
|
1042
|
+
z: this.arRotation[2],
|
|
1043
|
+
};
|
|
1044
|
+
settingsEngine.general.transformation.translation = {
|
|
1045
|
+
x: this.arTranslation[0],
|
|
1046
|
+
y: this.arTranslation[1],
|
|
1047
|
+
z: this.arTranslation[2],
|
|
1048
|
+
};
|
|
1049
|
+
settingsEngine.general.transformation.scale = {
|
|
1050
|
+
x: this.arScale[0],
|
|
1051
|
+
y: this.arScale[1],
|
|
1052
|
+
z: this.arScale[2],
|
|
1053
|
+
};
|
|
1054
|
+
settingsEngine.material.defaultMaterialColor =
|
|
1055
|
+
this._converter.toHexColor(this.defaultMaterialColor);
|
|
1056
|
+
settingsEngine.material.materialOverrideType =
|
|
1057
|
+
this.materialOverrideType;
|
|
1058
|
+
settingsEngine.rendering.automaticColorAdjustment =
|
|
1059
|
+
this.automaticColorAdjustment;
|
|
997
1060
|
settingsEngine.rendering.lights = this.lights;
|
|
998
1061
|
settingsEngine.rendering.outputEncoding = this.outputEncoding;
|
|
999
|
-
settingsEngine.rendering.physicallyCorrectLights =
|
|
1062
|
+
settingsEngine.rendering.physicallyCorrectLights =
|
|
1063
|
+
this.physicallyCorrectLights;
|
|
1000
1064
|
settingsEngine.rendering.textureEncoding = this.textureEncoding;
|
|
1001
1065
|
settingsEngine.rendering.toneMapping = this.toneMapping;
|
|
1002
1066
|
settingsEngine.rendering.toneMappingExposure = this.toneMappingExposure;
|
|
1003
|
-
settingsEngine.rendering.beautyRenderBlendingDuration =
|
|
1067
|
+
settingsEngine.rendering.beautyRenderBlendingDuration =
|
|
1068
|
+
this.beautyRenderBlendingDuration;
|
|
1004
1069
|
settingsEngine.rendering.beautyRenderDelay = this.beautyRenderDelay;
|
|
1005
1070
|
settingsEngine.rendering.shadows = this.shadows;
|
|
1006
1071
|
settingsEngine.rendering.softShadows = this.softShadows;
|
|
@@ -1012,13 +1077,15 @@ class RenderingEngine {
|
|
|
1012
1077
|
this._environmentGeometryManager.changeSceneExtents(this._sceneTreeManager.boundingBox);
|
|
1013
1078
|
});
|
|
1014
1079
|
if (this._sessionSettingsMode === viewer_shared_services_1.SESSION_SETTINGS_MODE.NONE) {
|
|
1015
|
-
this.environmentMap =
|
|
1080
|
+
this.environmentMap = "photo_studio";
|
|
1016
1081
|
}
|
|
1017
1082
|
}
|
|
1018
1083
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1019
1084
|
update(id) {
|
|
1020
1085
|
if (this.closed)
|
|
1021
1086
|
return;
|
|
1087
|
+
if (this.sceneTreeManager.suspendSceneUpdates === true)
|
|
1088
|
+
return;
|
|
1022
1089
|
this._sceneTreeManager.updateSceneTree(this._tree.root);
|
|
1023
1090
|
this._renderingManager.updateShadowMap();
|
|
1024
1091
|
this._animationEngine.updateAnimationData();
|
|
@@ -1028,18 +1095,28 @@ class RenderingEngine {
|
|
|
1028
1095
|
updateEnvironmentGeometry() {
|
|
1029
1096
|
this._environmentGeometryManager.updateEnvironmentGeometryPosition();
|
|
1030
1097
|
}
|
|
1031
|
-
viewInAR(file, options = { arScale:
|
|
1098
|
+
viewInAR(file, options = { arScale: "auto", arPlacement: "floor", xrEnvironment: false }) {
|
|
1032
1099
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1033
1100
|
const eventId = this._uuidGenerator.create();
|
|
1034
|
-
const event = {
|
|
1101
|
+
const event = {
|
|
1102
|
+
type: viewer_shared_types_1.TASK_TYPE.AR_LOADING,
|
|
1103
|
+
id: eventId,
|
|
1104
|
+
progress: 0,
|
|
1105
|
+
status: "Loading AR scene",
|
|
1106
|
+
};
|
|
1035
1107
|
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, event);
|
|
1036
1108
|
// if this is not a supported device, throw an error
|
|
1037
1109
|
if (this.viewableInAR() === false) {
|
|
1038
|
-
const event = {
|
|
1110
|
+
const event = {
|
|
1111
|
+
type: viewer_shared_types_1.TASK_TYPE.AR_LOADING,
|
|
1112
|
+
id: eventId,
|
|
1113
|
+
progress: 1,
|
|
1114
|
+
status: "Stopped AR loading due to an error",
|
|
1115
|
+
};
|
|
1039
1116
|
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_CANCEL, event);
|
|
1040
1117
|
throw new viewer_shared_services_1.ShapeDiverViewerArError('Api.viewInAR: The device or browser is not supported for this functionality, please call "viewableInAR" for more information.');
|
|
1041
1118
|
}
|
|
1042
|
-
const arScale = options.arScale !==
|
|
1119
|
+
const arScale = options.arScale !== "auto" ? "fixed" : "auto";
|
|
1043
1120
|
// const arPlacement = options.arPlacement !== 'wall' ? 'floor' : 'wall';
|
|
1044
1121
|
// const xrEnvironment = options.xrEnvironment !== true ? false : true;
|
|
1045
1122
|
// let arEnvironment = '';
|
|
@@ -1053,35 +1130,48 @@ class RenderingEngine {
|
|
|
1053
1130
|
// }
|
|
1054
1131
|
if (this._systemInfo.isIOS) {
|
|
1055
1132
|
// create the link and click it
|
|
1056
|
-
const a = document.createElement(
|
|
1057
|
-
a.href =
|
|
1058
|
-
|
|
1059
|
-
|
|
1133
|
+
const a = document.createElement("a");
|
|
1134
|
+
a.href =
|
|
1135
|
+
file +
|
|
1136
|
+
(arScale === "fixed"
|
|
1137
|
+
? ".usdz_allowsContentScaling=0"
|
|
1138
|
+
: ".usdz");
|
|
1139
|
+
a.rel = "ar";
|
|
1140
|
+
const img = document.createElement("img");
|
|
1060
1141
|
img.src = __classPrivateFieldGet(this, _RenderingEngine_defaultLogoStatic, "f");
|
|
1061
1142
|
a.appendChild(img);
|
|
1062
1143
|
a.click();
|
|
1063
1144
|
}
|
|
1064
1145
|
else {
|
|
1065
|
-
const a = document.createElement(
|
|
1066
|
-
a.href = `intent://arvr.google.com/scene-viewer/1.0?resizable=${arScale ===
|
|
1146
|
+
const a = document.createElement("a");
|
|
1147
|
+
a.href = `intent://arvr.google.com/scene-viewer/1.0?resizable=${arScale === "fixed" ? "false" : "true"}&file=${file}&mode=ar_only#Intent;scheme=https;package=com.google.ar.core;action=android.intent.action.VIEW;end;`;
|
|
1067
1148
|
a.click();
|
|
1068
1149
|
}
|
|
1069
|
-
const event2 = {
|
|
1150
|
+
const event2 = {
|
|
1151
|
+
type: viewer_shared_types_1.TASK_TYPE.AR_LOADING,
|
|
1152
|
+
id: eventId,
|
|
1153
|
+
progress: 1,
|
|
1154
|
+
status: "Done loading AR scene, launching AR",
|
|
1155
|
+
};
|
|
1070
1156
|
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, event2);
|
|
1071
1157
|
});
|
|
1072
1158
|
}
|
|
1073
1159
|
viewableInAR() {
|
|
1074
1160
|
// has to be a mobile device (duh)
|
|
1075
|
-
if (this._systemInfo.isIOS === false &&
|
|
1161
|
+
if (this._systemInfo.isIOS === false &&
|
|
1162
|
+
this._systemInfo.isAndroid === false)
|
|
1076
1163
|
return false;
|
|
1077
1164
|
// no Firefox on Android
|
|
1078
|
-
if (this._systemInfo.isAndroid === true &&
|
|
1165
|
+
if (this._systemInfo.isAndroid === true &&
|
|
1166
|
+
this._systemInfo.isFirefox === true)
|
|
1079
1167
|
return false;
|
|
1080
1168
|
// no Firefox on iOS
|
|
1081
|
-
if (this._systemInfo.isIOS === true &&
|
|
1169
|
+
if (this._systemInfo.isIOS === true &&
|
|
1170
|
+
this._systemInfo.isFirefox === true)
|
|
1082
1171
|
return false;
|
|
1083
1172
|
// no Instagram on iOS
|
|
1084
|
-
if (this._systemInfo.isIOS === true &&
|
|
1173
|
+
if (this._systemInfo.isIOS === true &&
|
|
1174
|
+
this._systemInfo.isInstagram === true)
|
|
1085
1175
|
return false;
|
|
1086
1176
|
return true;
|
|
1087
1177
|
}
|
|
@@ -1094,7 +1184,7 @@ class RenderingEngine {
|
|
|
1094
1184
|
light: true,
|
|
1095
1185
|
environment: true,
|
|
1096
1186
|
general: true,
|
|
1097
|
-
postprocessing: true
|
|
1187
|
+
postprocessing: true,
|
|
1098
1188
|
}, settingsEngine, updateViewport = true) {
|
|
1099
1189
|
var _a;
|
|
1100
1190
|
settingsEngine = settingsEngine || this._settingsEngine;
|
|
@@ -1102,35 +1192,62 @@ class RenderingEngine {
|
|
|
1102
1192
|
return;
|
|
1103
1193
|
if (sections.ar) {
|
|
1104
1194
|
this.enableAR = settingsEngine.ar.enable;
|
|
1105
|
-
this.arScale = [
|
|
1106
|
-
|
|
1107
|
-
|
|
1195
|
+
this.arScale = [
|
|
1196
|
+
settingsEngine.general.transformation.scale.x,
|
|
1197
|
+
settingsEngine.general.transformation.scale.y,
|
|
1198
|
+
settingsEngine.general.transformation.scale.z,
|
|
1199
|
+
];
|
|
1200
|
+
this.arTranslation = [
|
|
1201
|
+
settingsEngine.general.transformation.translation.x,
|
|
1202
|
+
settingsEngine.general.transformation.translation.y,
|
|
1203
|
+
settingsEngine.general.transformation.translation.z,
|
|
1204
|
+
];
|
|
1205
|
+
this.arRotation = [
|
|
1206
|
+
settingsEngine.general.transformation.rotation.x,
|
|
1207
|
+
settingsEngine.general.transformation.rotation.y,
|
|
1208
|
+
settingsEngine.general.transformation.rotation.z,
|
|
1209
|
+
];
|
|
1108
1210
|
}
|
|
1109
1211
|
if (sections.scene) {
|
|
1110
1212
|
this.gridColor = settingsEngine.environmentGeometry.gridColor;
|
|
1111
|
-
this.gridVisibility =
|
|
1112
|
-
|
|
1113
|
-
this.
|
|
1114
|
-
|
|
1115
|
-
this.
|
|
1116
|
-
|
|
1117
|
-
this.
|
|
1118
|
-
|
|
1119
|
-
this.
|
|
1120
|
-
|
|
1213
|
+
this.gridVisibility =
|
|
1214
|
+
settingsEngine.environmentGeometry.gridVisibility;
|
|
1215
|
+
this.groundPlaneColor =
|
|
1216
|
+
settingsEngine.environmentGeometry.groundPlaneColor;
|
|
1217
|
+
this.groundPlaneVisibility =
|
|
1218
|
+
settingsEngine.environmentGeometry.groundPlaneVisibility;
|
|
1219
|
+
this.groundPlaneShadowColor =
|
|
1220
|
+
settingsEngine.environmentGeometry.groundPlaneShadowColor;
|
|
1221
|
+
this.groundPlaneShadowVisibility =
|
|
1222
|
+
settingsEngine.environmentGeometry.groundPlaneShadowVisibility;
|
|
1223
|
+
this.contactShadowBlur =
|
|
1224
|
+
settingsEngine.environmentGeometry.contactShadowBlur;
|
|
1225
|
+
this.contactShadowDarkness =
|
|
1226
|
+
settingsEngine.environmentGeometry.contactShadowDarkness;
|
|
1227
|
+
this.contactShadowHeight =
|
|
1228
|
+
settingsEngine.environmentGeometry.contactShadowHeight;
|
|
1229
|
+
this.contactShadowOpacity =
|
|
1230
|
+
settingsEngine.environmentGeometry.contactShadowOpacity;
|
|
1231
|
+
this.contactShadowVisibility =
|
|
1232
|
+
settingsEngine.environmentGeometry.contactShadowVisibility;
|
|
1121
1233
|
this.shadows = settingsEngine.rendering.shadows;
|
|
1122
1234
|
this.softShadows = settingsEngine.rendering.softShadows;
|
|
1123
1235
|
this.lights = settingsEngine.rendering.lights;
|
|
1124
|
-
this.automaticColorAdjustment =
|
|
1125
|
-
|
|
1126
|
-
this.
|
|
1127
|
-
this.
|
|
1128
|
-
this.
|
|
1129
|
-
|
|
1236
|
+
this.automaticColorAdjustment =
|
|
1237
|
+
settingsEngine.rendering.automaticColorAdjustment;
|
|
1238
|
+
this.textureEncoding = (settingsEngine.rendering.textureEncoding);
|
|
1239
|
+
this.outputEncoding = (settingsEngine.rendering.outputEncoding);
|
|
1240
|
+
this.physicallyCorrectLights =
|
|
1241
|
+
settingsEngine.rendering.physicallyCorrectLights;
|
|
1242
|
+
this.toneMapping = (settingsEngine.rendering.toneMapping);
|
|
1243
|
+
this.toneMappingExposure =
|
|
1244
|
+
settingsEngine.rendering.toneMappingExposure;
|
|
1130
1245
|
}
|
|
1131
1246
|
if (sections.general) {
|
|
1132
|
-
this.defaultMaterialColor =
|
|
1133
|
-
|
|
1247
|
+
this.defaultMaterialColor =
|
|
1248
|
+
settingsEngine.material.defaultMaterialColor;
|
|
1249
|
+
this.materialOverrideType = settingsEngine.material
|
|
1250
|
+
.materialOverrideType;
|
|
1134
1251
|
this.pointSize = settingsEngine.general.pointSize;
|
|
1135
1252
|
}
|
|
1136
1253
|
if (sections.light)
|
|
@@ -1143,7 +1260,7 @@ class RenderingEngine {
|
|
|
1143
1260
|
this.cameraManager.adjustCamera(1);
|
|
1144
1261
|
(_a = this._stateEngine.viewportEngines[this.id]) === null || _a === void 0 ? void 0 : _a.settingsAssigned.resolve(true);
|
|
1145
1262
|
if (updateViewport)
|
|
1146
|
-
this.update(
|
|
1263
|
+
this.update("RenderingEngine.applySyncSettings");
|
|
1147
1264
|
}
|
|
1148
1265
|
}
|
|
1149
1266
|
exports.RenderingEngine = RenderingEngine;
|