@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.7.5 → 3.8.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/dist/RenderingEngine.d.ts +16 -1
- package/dist/RenderingEngine.d.ts.map +1 -1
- package/dist/RenderingEngine.js +72 -32
- package/dist/RenderingEngine.js.map +1 -1
- package/dist/interfaces/IRenderingEngine.d.ts +11 -10
- package/dist/interfaces/IRenderingEngine.d.ts.map +1 -1
- package/dist/loaders/EnvironmentMapLoader.d.ts +6 -0
- package/dist/loaders/EnvironmentMapLoader.d.ts.map +1 -1
- package/dist/loaders/EnvironmentMapLoader.js +12 -3
- package/dist/loaders/EnvironmentMapLoader.js.map +1 -1
- package/dist/loaders/MaterialLoader.d.ts +8 -4
- package/dist/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/loaders/MaterialLoader.js +158 -107
- package/dist/loaders/MaterialLoader.js.map +1 -1
- package/dist/managers/EnvironmentGeometryManager.d.ts +16 -26
- package/dist/managers/EnvironmentGeometryManager.d.ts.map +1 -1
- package/dist/managers/EnvironmentGeometryManager.js +61 -155
- package/dist/managers/EnvironmentGeometryManager.js.map +1 -1
- package/dist/managers/PostProcessingManager.d.ts +1 -0
- package/dist/managers/PostProcessingManager.d.ts.map +1 -1
- package/dist/managers/PostProcessingManager.js +19 -0
- package/dist/managers/PostProcessingManager.js.map +1 -1
- package/dist/managers/RenderingManager.d.ts +1 -0
- package/dist/managers/RenderingManager.d.ts.map +1 -1
- package/dist/managers/RenderingManager.js +9 -3
- package/dist/managers/RenderingManager.js.map +1 -1
- package/package.json +17 -17
|
@@ -65,6 +65,11 @@ var ENVIRONMENT_MAP_CUBE;
|
|
|
65
65
|
})(ENVIRONMENT_MAP_CUBE = exports.ENVIRONMENT_MAP_CUBE || (exports.ENVIRONMENT_MAP_CUBE = {}));
|
|
66
66
|
var ENVIRONMENT_MAP;
|
|
67
67
|
(function (ENVIRONMENT_MAP) {
|
|
68
|
+
ENVIRONMENT_MAP["DEFAULT_STUDIO"] = "default_studio";
|
|
69
|
+
ENVIRONMENT_MAP["FURNITURE_STUDIO"] = "furniture_studio";
|
|
70
|
+
ENVIRONMENT_MAP["GEM_STUDIO"] = "gem_studio";
|
|
71
|
+
ENVIRONMENT_MAP["HOSPITAL"] = "hospital";
|
|
72
|
+
ENVIRONMENT_MAP["JEWELRY_STUDIO"] = "jewelry_studio";
|
|
68
73
|
ENVIRONMENT_MAP["ANNIVERSARY_LOUNGE"] = "anniversary_lounge";
|
|
69
74
|
ENVIRONMENT_MAP["BALLROOM"] = "ballroom";
|
|
70
75
|
ENVIRONMENT_MAP["CANNON_EXTERIOR"] = "cannon_exterior";
|
|
@@ -111,6 +116,7 @@ class EnvironmentMapLoader {
|
|
|
111
116
|
this._environmentMapFilenames = ['px', 'nx', 'pz', 'nz', 'py', 'ny'];
|
|
112
117
|
this._environmentMapHDR = [];
|
|
113
118
|
this._environmentMapNamesHDR = Object.values(ENVIRONMENT_MAP).filter(value => typeof value === 'string');
|
|
119
|
+
this._environmentMapNamesHDRCustom = ['default_studio', 'furniture_studio', 'gem_studio', 'hospital', 'jewelry_studio'];
|
|
114
120
|
this._environmentMapNamesHDRKhronos = ['cannon_exterior', 'colorful_studio', 'neutral', 'wide_street'];
|
|
115
121
|
this._environmentMapNamesJPG = ['default', 'default_bw', 'blurred_lights', 'georgentor', 'georgentor_blur', 'georgentor_blue_blur', 'georgentor_bw_blur', 'levelsets', 'lythwood_field', 'mountains', 'ocean', 'piazza_san_marco', 'residential_garden', 'room_abstract_1', 'sky', 'storage_room', 'storm', 'subway_entrance', 'subway_entrance_bw_blur', 'white', 'yokohama'];
|
|
116
122
|
this._environmentMaps = {};
|
|
@@ -145,7 +151,9 @@ class EnvironmentMapLoader {
|
|
|
145
151
|
return '';
|
|
146
152
|
if (this._environmentMapNamesHDR.indexOf(name) >= 0) {
|
|
147
153
|
let url_hdr = 'https://viewer.shapediver.com/v3/envmaps/1k/' + name + '_1k.hdr';
|
|
148
|
-
if (this.
|
|
154
|
+
if (this._environmentMapNamesHDRCustom.indexOf(name) >= 0)
|
|
155
|
+
url_hdr = 'https://viewer.shapediver.com/v3/envmaps/custom/' + name + '.hdr';
|
|
156
|
+
else if (this._environmentMapNamesHDRKhronos.indexOf(name) >= 0)
|
|
149
157
|
url_hdr = 'https://viewer.shapediver.com/v3/envmaps/khronos/' + name + '.hdr';
|
|
150
158
|
return url_hdr;
|
|
151
159
|
}
|
|
@@ -218,7 +226,9 @@ class EnvironmentMapLoader {
|
|
|
218
226
|
let i;
|
|
219
227
|
if (this._environmentMapNamesHDR.indexOf(name_internal) >= 0) {
|
|
220
228
|
let url_hdr = 'https://viewer.shapediver.com/v3/envmaps/1k/' + name_internal + '_1k.hdr';
|
|
221
|
-
if (this.
|
|
229
|
+
if (this._environmentMapNamesHDRCustom.indexOf(name) >= 0)
|
|
230
|
+
url_hdr = 'https://viewer.shapediver.com/v3/envmaps/custom/' + name + '.hdr';
|
|
231
|
+
else if (this._environmentMapNamesHDRKhronos.indexOf(name_internal) >= 0)
|
|
222
232
|
url_hdr = 'https://viewer.shapediver.com/v3/envmaps/khronos/' + name_internal + '.hdr';
|
|
223
233
|
this._environmentMapHDR.push(url_hdr);
|
|
224
234
|
return this.loadEnvironmentMap(name_caching, url_hdr, eventId);
|
|
@@ -297,7 +307,6 @@ class EnvironmentMapLoader {
|
|
|
297
307
|
new RGBELoader_1.RGBELoader().load(blobUrl, (texture) => {
|
|
298
308
|
const map = this._pmremGenerator.fromEquirectangular(texture).texture;
|
|
299
309
|
this._pmremGenerator.dispose();
|
|
300
|
-
map;
|
|
301
310
|
URL.revokeObjectURL(blobUrl);
|
|
302
311
|
this._environmentMaps[name].resolved = true;
|
|
303
312
|
resolve(map);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentMapLoader.js","sourceRoot":"","sources":["../../src/loaders/EnvironmentMapLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnvironmentMapLoader.js","sourceRoot":"","sources":["../../src/loaders/EnvironmentMapLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
import { ENVIRONMENT_MAP_TYPE } from './EnvironmentMapLoader';
|
|
3
3
|
import { GemMaterialParameters } from '../materials/GemMaterial';
|
|
4
|
-
import { GeometryData, IMaterialAbstractData, MaterialBasicLineData, MaterialPointData, MaterialStandardData, PRIMITIVE_MODE } from '@shapediver/viewer.shared.types';
|
|
4
|
+
import { GeometryData, IMaterialAbstractData, MATERIAL_TYPE, MaterialBasicLineData, MaterialPointData, MaterialStandardData, PRIMITIVE_MODE } from '@shapediver/viewer.shared.types';
|
|
5
5
|
import { ILoader } from '../interfaces/ILoader';
|
|
6
6
|
import { quat } from 'gl-matrix';
|
|
7
7
|
import { MeshUnlitMaterialParameters } from '../materials/MeshUnlitMaterialParameters';
|
|
@@ -25,6 +25,7 @@ declare type ThreeJsTextureCacheObject = {
|
|
|
25
25
|
export declare class MaterialLoader implements ILoader {
|
|
26
26
|
private readonly _renderingEngine;
|
|
27
27
|
private readonly _converter;
|
|
28
|
+
private readonly _sceneTree;
|
|
28
29
|
private _blending;
|
|
29
30
|
private _defaultLineMaterialData;
|
|
30
31
|
private _defaultMaterialData;
|
|
@@ -35,6 +36,7 @@ export declare class MaterialLoader implements ILoader {
|
|
|
35
36
|
private _environmentMapRotationEuler;
|
|
36
37
|
private _height;
|
|
37
38
|
private _lightSizeUV;
|
|
39
|
+
private _materialOverrideType;
|
|
38
40
|
private _materialCache;
|
|
39
41
|
private _maxMapCount;
|
|
40
42
|
private _pointSize;
|
|
@@ -47,6 +49,8 @@ export declare class MaterialLoader implements ILoader {
|
|
|
47
49
|
set defaultMaterialData(value: MaterialStandardData);
|
|
48
50
|
get defaultPointMaterialData(): MaterialPointData;
|
|
49
51
|
set defaultPointMaterialData(value: MaterialPointData);
|
|
52
|
+
get materialOverrideType(): MATERIAL_TYPE | undefined;
|
|
53
|
+
set materialOverrideType(value: MATERIAL_TYPE | undefined);
|
|
50
54
|
get maxMapCount(): number;
|
|
51
55
|
set maxMapCount(value: number);
|
|
52
56
|
get textureEncoding(): THREE.ColorSpace;
|
|
@@ -67,9 +71,9 @@ export declare class MaterialLoader implements ILoader {
|
|
|
67
71
|
assignEnvironmentMapRotation(value: quat): void;
|
|
68
72
|
assignPointSize(p: number): void;
|
|
69
73
|
cacheSize(): number;
|
|
70
|
-
createMaterial(type:
|
|
74
|
+
createMaterial(type: GEOMETRY_MATERIAL_TYPE, incomingData: IMaterialAbstractData | GeometryData, materialData: IMaterialAbstractData | null, materialSettings?: MaterialSettings): THREE.Material | THREE.MeshBasicMaterial | THREE.PointsMaterial | MultiPointsMaterial | THREE.LineBasicMaterial;
|
|
71
75
|
emptyMaterialCache(): void;
|
|
72
|
-
getMaterialProperties(materialData: IMaterialAbstractData | null, type:
|
|
76
|
+
getMaterialProperties(materialData: IMaterialAbstractData | null, type: GEOMETRY_MATERIAL_TYPE, materialSettings?: MaterialSettings): {
|
|
73
77
|
properties: ThreeJsMaterialParameterTypes;
|
|
74
78
|
mapCount: number;
|
|
75
79
|
};
|
|
@@ -89,7 +93,7 @@ export declare class MaterialLoader implements ILoader {
|
|
|
89
93
|
private createDataKeyFromMaterial;
|
|
90
94
|
private createTexture;
|
|
91
95
|
}
|
|
92
|
-
|
|
96
|
+
declare enum GEOMETRY_MATERIAL_TYPE {
|
|
93
97
|
POINT = "point",
|
|
94
98
|
LINE = "line",
|
|
95
99
|
MESH = "mesh"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/MaterialLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAe,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACH,YAAY,EAEZ,qBAAqB,EAGrB,qBAAqB,EAGrB,iBAAiB,EAGjB,oBAAoB,EAEpB,cAAc,EAGjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAQ,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAA8B,oCAAoC,EAAE,MAAM,yCAAyC,CAAC;AAK3H,oBAAY,gBAAgB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,aAAK,6BAA6B,GAAG,KAAK,CAAC,wBAAwB,GAAG,6BAA6B,GAAG,KAAK,CAAC,2BAA2B,GAAG,2BAA2B,GAAG,KAAK,CAAC,8BAA8B,GAAG,oCAAoC,GAAG,qBAAqB,GAAG,KAAK,CAAC,wBAAwB,CAAC;AAG7S,aAAK,yBAAyB,GAAG;IAC7B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,cAAe,YAAW,OAAO;
|
|
1
|
+
{"version":3,"file":"MaterialLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/MaterialLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,13 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.adaptShaders = exports.
|
|
26
|
+
exports.adaptShaders = exports.MaterialLoader = void 0;
|
|
27
27
|
const THREE = __importStar(require("three"));
|
|
28
28
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
29
29
|
const PCSS_1 = require("../shaders/PCSS");
|
|
30
30
|
const EnvironmentMapLoader_1 = require("./EnvironmentMapLoader");
|
|
31
31
|
const GemMaterial_1 = require("../materials/GemMaterial");
|
|
32
32
|
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
33
|
+
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
33
34
|
const gl_matrix_1 = require("gl-matrix");
|
|
34
35
|
const MultiPointsMaterial_1 = require("../materials/MultiPointsMaterial");
|
|
35
36
|
const SDColor_1 = require("../objects/SDColor");
|
|
@@ -43,6 +44,7 @@ class MaterialLoader {
|
|
|
43
44
|
this._renderingEngine = _renderingEngine;
|
|
44
45
|
// #region Properties (16)
|
|
45
46
|
this._converter = viewer_shared_services_1.Converter.instance;
|
|
47
|
+
this._sceneTree = viewer_shared_node_tree_1.Tree.instance;
|
|
46
48
|
this._blending = 0.0;
|
|
47
49
|
this._defaultLineMaterialData = new viewer_shared_types_1.MaterialBasicLineData({ color: '#199b9b' });
|
|
48
50
|
this._defaultMaterialData = new viewer_shared_types_1.MaterialStandardData({ color: '#199b9b', side: viewer_shared_types_1.MATERIAL_SIDE.DOUBLE, metalness: 0.0 });
|
|
@@ -53,6 +55,7 @@ class MaterialLoader {
|
|
|
53
55
|
this._environmentMapRotationEuler = new THREE.Euler();
|
|
54
56
|
this._height = 1020;
|
|
55
57
|
this._lightSizeUV = 0.025;
|
|
58
|
+
this._materialOverrideType = undefined;
|
|
56
59
|
this._materialCache = {};
|
|
57
60
|
this._maxMapCount = 0;
|
|
58
61
|
this._pointSize = 1.0;
|
|
@@ -82,6 +85,19 @@ class MaterialLoader {
|
|
|
82
85
|
this._defaultPointMaterialData = value;
|
|
83
86
|
this.assignDefaultPointMaterial();
|
|
84
87
|
}
|
|
88
|
+
get materialOverrideType() {
|
|
89
|
+
return this._materialOverrideType;
|
|
90
|
+
}
|
|
91
|
+
set materialOverrideType(value) {
|
|
92
|
+
if (this._materialOverrideType === value)
|
|
93
|
+
return;
|
|
94
|
+
this._materialOverrideType = value;
|
|
95
|
+
for (const key in this._materialCache) {
|
|
96
|
+
this._materialCache[key].material.dispose();
|
|
97
|
+
delete this._materialCache[key];
|
|
98
|
+
}
|
|
99
|
+
this._sceneTree.root.updateVersion();
|
|
100
|
+
}
|
|
85
101
|
get maxMapCount() {
|
|
86
102
|
return this._maxMapCount;
|
|
87
103
|
}
|
|
@@ -160,7 +176,7 @@ class MaterialLoader {
|
|
|
160
176
|
for (const cacheKey in this._materialCache) {
|
|
161
177
|
if (this._materialCache[cacheKey].material instanceof THREE.LineBasicMaterial && this._materialCache[cacheKey].materialData === null) {
|
|
162
178
|
const material = this._materialCache[cacheKey].material;
|
|
163
|
-
const { properties, mapCount } = this.getMaterialProperties(this._defaultLineMaterialData,
|
|
179
|
+
const { properties, mapCount } = this.getMaterialProperties(this._defaultLineMaterialData, GEOMETRY_MATERIAL_TYPE.LINE, undefined);
|
|
164
180
|
this.maxMapCount = Math.max(this.maxMapCount, mapCount);
|
|
165
181
|
material.copy(new THREE.LineBasicMaterial(properties));
|
|
166
182
|
material.needsUpdate = true;
|
|
@@ -169,11 +185,19 @@ class MaterialLoader {
|
|
|
169
185
|
}
|
|
170
186
|
assignDefaultMaterial() {
|
|
171
187
|
for (const cacheKey in this._materialCache) {
|
|
172
|
-
if (this._materialCache[cacheKey].
|
|
188
|
+
if (this._materialCache[cacheKey].materialData === null) {
|
|
173
189
|
const material = this._materialCache[cacheKey].material;
|
|
174
|
-
const { properties, mapCount } = this.getMaterialProperties(this._defaultMaterialData,
|
|
190
|
+
const { properties, mapCount } = this.getMaterialProperties(this._defaultMaterialData, GEOMETRY_MATERIAL_TYPE.MESH, this._materialCache[cacheKey].materialSettings);
|
|
175
191
|
this.maxMapCount = Math.max(this.maxMapCount, mapCount);
|
|
176
|
-
material
|
|
192
|
+
if (material instanceof THREE.MeshBasicMaterial) {
|
|
193
|
+
material.copy(new THREE.MeshBasicMaterial(properties));
|
|
194
|
+
}
|
|
195
|
+
else if (material instanceof SpecularGlossinessMaterial_1.SpecularGlossinessMaterial) {
|
|
196
|
+
material.copy(new SpecularGlossinessMaterial_1.SpecularGlossinessMaterial(properties));
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
material.copy(new THREE.MeshPhysicalMaterial(properties));
|
|
200
|
+
}
|
|
177
201
|
material.needsUpdate = true;
|
|
178
202
|
}
|
|
179
203
|
}
|
|
@@ -182,7 +206,7 @@ class MaterialLoader {
|
|
|
182
206
|
for (const cacheKey in this._materialCache) {
|
|
183
207
|
if (this._materialCache[cacheKey].material instanceof THREE.PointsMaterial && this._materialCache[cacheKey].materialData === null) {
|
|
184
208
|
const material = this._materialCache[cacheKey].material;
|
|
185
|
-
const { properties, mapCount } = this.getMaterialProperties(this._defaultPointMaterialData,
|
|
209
|
+
const { properties, mapCount } = this.getMaterialProperties(this._defaultPointMaterialData, GEOMETRY_MATERIAL_TYPE.POINT, undefined);
|
|
186
210
|
this.maxMapCount = Math.max(this.maxMapCount, mapCount);
|
|
187
211
|
material.copy(new THREE.PointsMaterial(properties));
|
|
188
212
|
material.needsUpdate = true;
|
|
@@ -372,7 +396,7 @@ class MaterialLoader {
|
|
|
372
396
|
const { properties, mapCount } = this.getMaterialProperties(materialData, type, materialSettings);
|
|
373
397
|
this.maxMapCount = Math.max(this.maxMapCount, mapCount);
|
|
374
398
|
let material;
|
|
375
|
-
if (type ===
|
|
399
|
+
if (type === GEOMETRY_MATERIAL_TYPE.POINT) {
|
|
376
400
|
if (materialData instanceof viewer_shared_types_1.MaterialMultiPointData) {
|
|
377
401
|
material = new MultiPointsMaterial_1.MultiPointsMaterial(properties);
|
|
378
402
|
}
|
|
@@ -380,7 +404,7 @@ class MaterialLoader {
|
|
|
380
404
|
material = new THREE.PointsMaterial(properties);
|
|
381
405
|
}
|
|
382
406
|
}
|
|
383
|
-
else if (type ===
|
|
407
|
+
else if (type === GEOMETRY_MATERIAL_TYPE.LINE) {
|
|
384
408
|
material = new THREE.LineBasicMaterial(properties);
|
|
385
409
|
}
|
|
386
410
|
else {
|
|
@@ -391,14 +415,27 @@ class MaterialLoader {
|
|
|
391
415
|
if (materialData instanceof viewer_shared_types_1.MaterialShadowData) {
|
|
392
416
|
material = new THREE.ShadowMaterial({ opacity: properties.opacity, color: properties.color });
|
|
393
417
|
}
|
|
394
|
-
else if (materialData instanceof viewer_shared_types_1.MaterialSpecularGlossinessData) {
|
|
395
|
-
material = new SpecularGlossinessMaterial_1.SpecularGlossinessMaterial(properties);
|
|
396
|
-
}
|
|
397
|
-
else if (materialData instanceof viewer_shared_types_1.MaterialGemData) {
|
|
398
|
-
material = new GemMaterial_1.GemMaterial(properties);
|
|
399
|
-
}
|
|
400
418
|
else {
|
|
401
|
-
|
|
419
|
+
if (this._materialOverrideType !== undefined) {
|
|
420
|
+
if (this._materialOverrideType === viewer_shared_types_1.MATERIAL_TYPE.UNLIT) {
|
|
421
|
+
material = new THREE.MeshBasicMaterial(properties);
|
|
422
|
+
}
|
|
423
|
+
else if (this._materialOverrideType === viewer_shared_types_1.MATERIAL_TYPE.SPECULAR_GLOSSINESS) {
|
|
424
|
+
material = new SpecularGlossinessMaterial_1.SpecularGlossinessMaterial(properties);
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
material = new THREE.MeshPhysicalMaterial(properties);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
else if (materialData instanceof viewer_shared_types_1.MaterialSpecularGlossinessData) {
|
|
431
|
+
material = new SpecularGlossinessMaterial_1.SpecularGlossinessMaterial(properties);
|
|
432
|
+
}
|
|
433
|
+
else if (materialData instanceof viewer_shared_types_1.MaterialGemData) {
|
|
434
|
+
material = new GemMaterial_1.GemMaterial(properties);
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
material = new THREE.MeshPhysicalMaterial(properties);
|
|
438
|
+
}
|
|
402
439
|
}
|
|
403
440
|
const before = material.onBeforeCompile;
|
|
404
441
|
material.onBeforeCompile = (shader, renderer) => {
|
|
@@ -464,10 +501,10 @@ class MaterialLoader {
|
|
|
464
501
|
let mapCount = 0;
|
|
465
502
|
// if no MaterialStandardData is provided, we return our default
|
|
466
503
|
if (!materialData) {
|
|
467
|
-
if (type ===
|
|
504
|
+
if (type === GEOMETRY_MATERIAL_TYPE.POINT) {
|
|
468
505
|
return this.getMaterialProperties(this._defaultPointMaterialData, type, materialSettings);
|
|
469
506
|
}
|
|
470
|
-
else if (type ===
|
|
507
|
+
else if (type === GEOMETRY_MATERIAL_TYPE.LINE) {
|
|
471
508
|
return this.getMaterialProperties(this._defaultLineMaterialData, type, materialSettings);
|
|
472
509
|
}
|
|
473
510
|
else {
|
|
@@ -522,7 +559,7 @@ class MaterialLoader {
|
|
|
522
559
|
* First exit, lines ans points
|
|
523
560
|
*
|
|
524
561
|
*/
|
|
525
|
-
if (type ===
|
|
562
|
+
if (type === GEOMETRY_MATERIAL_TYPE.POINT) {
|
|
526
563
|
if (materialData instanceof viewer_shared_types_1.MaterialPointData) {
|
|
527
564
|
const pointMaterialProperties = generalProperties;
|
|
528
565
|
pointMaterialProperties.size = materialData.size !== undefined ? materialData.size : this._pointSize;
|
|
@@ -713,7 +750,7 @@ class MaterialLoader {
|
|
|
713
750
|
}
|
|
714
751
|
return { properties: generalProperties, mapCount };
|
|
715
752
|
}
|
|
716
|
-
else if (type ===
|
|
753
|
+
else if (type === GEOMETRY_MATERIAL_TYPE.LINE) {
|
|
717
754
|
return { properties: generalProperties, mapCount };
|
|
718
755
|
}
|
|
719
756
|
/**
|
|
@@ -750,7 +787,7 @@ class MaterialLoader {
|
|
|
750
787
|
* Third exit, the unlit material
|
|
751
788
|
*
|
|
752
789
|
*/
|
|
753
|
-
if (materialData instanceof viewer_shared_types_1.MaterialUnlitData)
|
|
790
|
+
if (materialData instanceof viewer_shared_types_1.MaterialUnlitData || this._materialOverrideType === viewer_shared_types_1.MATERIAL_TYPE.UNLIT)
|
|
754
791
|
return { properties: basicProperties, mapCount };
|
|
755
792
|
/**
|
|
756
793
|
* We know evaluate properties that can be applied to MeshPhysicalMaterials, SpecularGlossinessMaterials and GemMaterialParameters
|
|
@@ -784,6 +821,8 @@ class MaterialLoader {
|
|
|
784
821
|
* Fourth exit, the specular-glossiness material
|
|
785
822
|
*
|
|
786
823
|
*/
|
|
824
|
+
if (this._materialOverrideType === viewer_shared_types_1.MATERIAL_TYPE.SPECULAR_GLOSSINESS && !(materialData instanceof viewer_shared_types_1.MaterialSpecularGlossinessData))
|
|
825
|
+
return { properties: standardProperties, mapCount };
|
|
787
826
|
if (materialData instanceof viewer_shared_types_1.MaterialSpecularGlossinessData) {
|
|
788
827
|
const specularGlossinessProperties = standardProperties;
|
|
789
828
|
specularGlossinessProperties.specular = this._renderingEngine.createThreeJsColor(materialData.specular);
|
|
@@ -812,7 +851,7 @@ class MaterialLoader {
|
|
|
812
851
|
* Fourth exit, the gem material
|
|
813
852
|
*
|
|
814
853
|
*/
|
|
815
|
-
if (materialData instanceof viewer_shared_types_1.MaterialGemData) {
|
|
854
|
+
if (materialData instanceof viewer_shared_types_1.MaterialGemData && this._materialOverrideType === undefined) {
|
|
816
855
|
const gemProperties = standardProperties;
|
|
817
856
|
gemProperties.refractionIndex = materialData.refractionIndex;
|
|
818
857
|
if (materialData.impurityMap !== undefined) {
|
|
@@ -847,83 +886,81 @@ class MaterialLoader {
|
|
|
847
886
|
* the final exit, the MeshPhysicalMaterial
|
|
848
887
|
*
|
|
849
888
|
*/
|
|
850
|
-
if (materialData instanceof viewer_shared_types_1.MaterialStandardData)
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
889
|
+
if (!(materialData instanceof viewer_shared_types_1.MaterialStandardData))
|
|
890
|
+
return { properties: standardProperties, mapCount };
|
|
891
|
+
const meshPhysicalProperties = standardProperties;
|
|
892
|
+
meshPhysicalProperties.clearcoat = materialData.clearcoat;
|
|
893
|
+
if (materialData.clearcoatMap !== undefined) {
|
|
894
|
+
meshPhysicalProperties.clearcoatMap = this.createTexture(materialData.clearcoatMap);
|
|
895
|
+
mapCount++;
|
|
896
|
+
}
|
|
897
|
+
if (materialData.clearcoatNormalMap !== undefined) {
|
|
898
|
+
meshPhysicalProperties.clearcoatNormalMap = this.createTexture(materialData.clearcoatNormalMap);
|
|
899
|
+
mapCount++;
|
|
900
|
+
}
|
|
901
|
+
meshPhysicalProperties.clearcoatRoughness = materialData.clearcoatRoughness;
|
|
902
|
+
if (materialData.clearcoatRoughnessMap !== undefined) {
|
|
903
|
+
meshPhysicalProperties.clearcoatRoughnessMap = this.createTexture(materialData.clearcoatRoughnessMap);
|
|
904
|
+
mapCount++;
|
|
905
|
+
}
|
|
906
|
+
if (materialData.displacementMap !== undefined) {
|
|
907
|
+
meshPhysicalProperties.displacementMap = this.createTexture(materialData.displacementMap);
|
|
908
|
+
mapCount++;
|
|
909
|
+
}
|
|
910
|
+
meshPhysicalProperties.displacementScale = materialData.displacementScale;
|
|
911
|
+
meshPhysicalProperties.displacementBias = materialData.displacementBias;
|
|
912
|
+
meshPhysicalProperties.ior = materialData.ior;
|
|
913
|
+
meshPhysicalProperties.transmission = materialData.transmission;
|
|
914
|
+
if (materialData.transmissionMap !== undefined) {
|
|
915
|
+
meshPhysicalProperties.transmissionMap = this.createTexture(materialData.transmissionMap);
|
|
916
|
+
mapCount++;
|
|
917
|
+
}
|
|
918
|
+
meshPhysicalProperties.thickness = materialData.thickness;
|
|
919
|
+
if (materialData.thicknessMap !== undefined) {
|
|
920
|
+
meshPhysicalProperties.thicknessMap = this.createTexture(materialData.thicknessMap);
|
|
921
|
+
mapCount++;
|
|
922
|
+
}
|
|
923
|
+
meshPhysicalProperties.attenuationDistance = materialData.attenuationDistance;
|
|
924
|
+
meshPhysicalProperties.attenuationColor = this._renderingEngine.createThreeJsColor(materialData.attenuationColor);
|
|
925
|
+
meshPhysicalProperties.sheen = materialData.sheen;
|
|
926
|
+
meshPhysicalProperties.sheenColor = this._renderingEngine.createThreeJsColor(materialData.sheenColor);
|
|
927
|
+
meshPhysicalProperties.sheenRoughness = materialData.sheenRoughness;
|
|
928
|
+
if (materialData.sheenColorMap !== undefined) {
|
|
929
|
+
meshPhysicalProperties.sheenColorMap = this.createTexture(materialData.sheenColorMap);
|
|
930
|
+
mapCount++;
|
|
931
|
+
}
|
|
932
|
+
if (materialData.sheenRoughnessMap !== undefined) {
|
|
933
|
+
meshPhysicalProperties.sheenRoughnessMap = this.createTexture(materialData.sheenRoughnessMap);
|
|
934
|
+
mapCount++;
|
|
935
|
+
}
|
|
936
|
+
meshPhysicalProperties.specularIntensity = materialData.specularIntensity;
|
|
937
|
+
if (materialData.specularIntensityMap !== undefined) {
|
|
938
|
+
meshPhysicalProperties.specularIntensityMap = this.createTexture(materialData.specularIntensityMap);
|
|
939
|
+
mapCount++;
|
|
940
|
+
}
|
|
941
|
+
meshPhysicalProperties.specularColor = this._renderingEngine.createThreeJsColor(materialData.specularColor);
|
|
942
|
+
if (materialData.specularColorMap !== undefined) {
|
|
943
|
+
meshPhysicalProperties.specularColorMap = this.createTexture(materialData.specularColorMap);
|
|
944
|
+
mapCount++;
|
|
945
|
+
}
|
|
946
|
+
meshPhysicalProperties.metalness = materialData.metalness;
|
|
947
|
+
meshPhysicalProperties.roughness = materialData.roughness;
|
|
948
|
+
if (materialData.metalnessRoughnessMap !== undefined) {
|
|
949
|
+
meshPhysicalProperties.metalnessMap = this.createTexture(materialData.metalnessRoughnessMap);
|
|
950
|
+
meshPhysicalProperties.roughnessMap = meshPhysicalProperties.metalnessMap;
|
|
951
|
+
mapCount++;
|
|
952
|
+
}
|
|
953
|
+
else {
|
|
954
|
+
if (materialData.metalnessMap !== undefined) {
|
|
955
|
+
meshPhysicalProperties.metalnessMap = this.createTexture(materialData.metalnessMap);
|
|
904
956
|
mapCount++;
|
|
905
957
|
}
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
if (materialData.metalnessRoughnessMap !== undefined) {
|
|
909
|
-
meshPhysicalProperties.metalnessMap = this.createTexture(materialData.metalnessRoughnessMap);
|
|
910
|
-
meshPhysicalProperties.roughnessMap = meshPhysicalProperties.metalnessMap;
|
|
958
|
+
if (materialData.roughnessMap !== undefined) {
|
|
959
|
+
meshPhysicalProperties.roughnessMap = this.createTexture(materialData.roughnessMap);
|
|
911
960
|
mapCount++;
|
|
912
961
|
}
|
|
913
|
-
else {
|
|
914
|
-
if (materialData.metalnessMap !== undefined) {
|
|
915
|
-
meshPhysicalProperties.metalnessMap = this.createTexture(materialData.metalnessMap);
|
|
916
|
-
mapCount++;
|
|
917
|
-
}
|
|
918
|
-
if (materialData.roughnessMap !== undefined) {
|
|
919
|
-
meshPhysicalProperties.roughnessMap = this.createTexture(materialData.roughnessMap);
|
|
920
|
-
mapCount++;
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
return { properties: meshPhysicalProperties, mapCount };
|
|
924
962
|
}
|
|
925
|
-
|
|
926
|
-
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('MaterialLoader.getMaterialProperties: No proper material properties were found.');
|
|
963
|
+
return { properties: meshPhysicalProperties, mapCount };
|
|
927
964
|
}
|
|
928
965
|
init() { }
|
|
929
966
|
/**
|
|
@@ -939,13 +976,13 @@ class MaterialLoader {
|
|
|
939
976
|
// evaluate which type of material properties we are constructing
|
|
940
977
|
let type;
|
|
941
978
|
if (materialSettings && materialSettings.mode === 0) {
|
|
942
|
-
type =
|
|
979
|
+
type = GEOMETRY_MATERIAL_TYPE.POINT;
|
|
943
980
|
}
|
|
944
981
|
else if (materialSettings && (materialSettings.mode === 1 || materialSettings.mode === 2 || materialSettings.mode === 3)) {
|
|
945
|
-
type =
|
|
982
|
+
type = GEOMETRY_MATERIAL_TYPE.LINE;
|
|
946
983
|
}
|
|
947
984
|
else {
|
|
948
|
-
type =
|
|
985
|
+
type = GEOMETRY_MATERIAL_TYPE.MESH;
|
|
949
986
|
}
|
|
950
987
|
const material = this.createMaterial(type, incomingData, materialData, materialSettings);
|
|
951
988
|
const cacheKey = this.createDataKeyFromMaterial(incomingData, type, materialSettings);
|
|
@@ -1096,12 +1133,12 @@ exports.MaterialLoader = MaterialLoader;
|
|
|
1096
1133
|
// #endregion Classes (1)
|
|
1097
1134
|
// #region Enums (1)
|
|
1098
1135
|
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
1099
|
-
var
|
|
1100
|
-
(function (
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
})(
|
|
1136
|
+
var GEOMETRY_MATERIAL_TYPE;
|
|
1137
|
+
(function (GEOMETRY_MATERIAL_TYPE) {
|
|
1138
|
+
GEOMETRY_MATERIAL_TYPE["POINT"] = "point";
|
|
1139
|
+
GEOMETRY_MATERIAL_TYPE["LINE"] = "line";
|
|
1140
|
+
GEOMETRY_MATERIAL_TYPE["MESH"] = "mesh";
|
|
1141
|
+
})(GEOMETRY_MATERIAL_TYPE || (GEOMETRY_MATERIAL_TYPE = {}));
|
|
1105
1142
|
// #endregion Enums (1)
|
|
1106
1143
|
// #region Variables (1)
|
|
1107
1144
|
const adaptShaders = () => {
|
|
@@ -1122,7 +1159,8 @@ const adaptShaders = () => {
|
|
|
1122
1159
|
vec3 rotatedReflectVec = vec3(envMapRotation * worldNormal).xzy;
|
|
1123
1160
|
vec4 envMapColor = textureCubeUV( envMap, vec3(rotatedReflectVec.xy, -rotatedReflectVec.z), 1.0 );
|
|
1124
1161
|
#else
|
|
1125
|
-
|
|
1162
|
+
vec3 rotatedReflectVec = vec3(envMapRotation * worldNormal);
|
|
1163
|
+
vec4 envMapColor = textureCubeUV( envMap, vec3(-rotatedReflectVec.x, rotatedReflectVec.y, rotatedReflectVec.z), 1.0 );
|
|
1126
1164
|
#endif
|
|
1127
1165
|
`);
|
|
1128
1166
|
// here we replace in the envmap_fragment the z component of the reflection vector with the negative z component in the case of a LDR environment map
|
|
@@ -1132,7 +1170,8 @@ const adaptShaders = () => {
|
|
|
1132
1170
|
vec3 rotatedReflectVec = vec3(envMapRotation * reflectVec).xzy;
|
|
1133
1171
|
vec4 envMapColor = textureCubeUV( envMap, vec3(rotatedReflectVec.xy, -rotatedReflectVec.z), roughness );
|
|
1134
1172
|
#else
|
|
1135
|
-
|
|
1173
|
+
vec3 rotatedReflectVec = vec3(envMapRotation * reflectVec);
|
|
1174
|
+
vec4 envMapColor = textureCubeUV( envMap, vec3(rotatedReflectVec.x, rotatedReflectVec.y, rotatedReflectVec.z), roughness );
|
|
1136
1175
|
#endif
|
|
1137
1176
|
`);
|
|
1138
1177
|
// here we replace in the envmap_fragment the z component of the reflection vector with the negative z component in the case of a LDR environment map
|
|
@@ -1141,15 +1180,27 @@ const adaptShaders = () => {
|
|
|
1141
1180
|
#ifdef ENVMAP_TYPE_LDR
|
|
1142
1181
|
vec4 envColor = textureCube( envMap, envMapRotation * vec3(flipEnvMap * reflectVec.x, reflectVec.y, -reflectVec.z ) );
|
|
1143
1182
|
#else
|
|
1144
|
-
vec4 envColor = textureCube( envMap, envMapRotation * vec3(
|
|
1183
|
+
vec4 envColor = textureCube( envMap, envMapRotation * vec3(flipEnvMap * reflectVec.x, reflectVec.zy ) );
|
|
1145
1184
|
#endif
|
|
1146
1185
|
`);
|
|
1147
1186
|
// here we replace the z and y component of the sampleDir in the cube_uv_reflection_fragment
|
|
1148
1187
|
// console.log(THREE.ShaderChunk.cube_uv_reflection_fragment.includes('vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );'))
|
|
1149
|
-
THREE.ShaderChunk.cube_uv_reflection_fragment = THREE.ShaderChunk.cube_uv_reflection_fragment.replace('vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );',
|
|
1188
|
+
THREE.ShaderChunk.cube_uv_reflection_fragment = THREE.ShaderChunk.cube_uv_reflection_fragment.replace('vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );', `
|
|
1189
|
+
#ifdef ENVMAP_TYPE_LDR
|
|
1190
|
+
vec3 color0 = bilinearCubeUV( envMap, sampleDir.xzy, mipInt );
|
|
1191
|
+
#else
|
|
1192
|
+
vec3 color0 = bilinearCubeUV( envMap, vec3(sampleDir.y, sampleDir.z, sampleDir.x), mipInt );
|
|
1193
|
+
#endif
|
|
1194
|
+
`);
|
|
1150
1195
|
// here we replace the z and y component of the sampleDir in the cube_uv_reflection_fragment
|
|
1151
1196
|
// console.log(THREE.ShaderChunk.cube_uv_reflection_fragment)
|
|
1152
|
-
THREE.ShaderChunk.cube_uv_reflection_fragment = THREE.ShaderChunk.cube_uv_reflection_fragment.replace('vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );',
|
|
1197
|
+
THREE.ShaderChunk.cube_uv_reflection_fragment = THREE.ShaderChunk.cube_uv_reflection_fragment.replace('vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );', `
|
|
1198
|
+
#ifdef ENVMAP_TYPE_LDR
|
|
1199
|
+
vec3 color1 = bilinearCubeUV( envMap, sampleDir.xzy, mipInt + 1.0 );
|
|
1200
|
+
#else
|
|
1201
|
+
vec3 color1 = bilinearCubeUV( envMap, vec3(sampleDir.y, sampleDir.z, sampleDir.x), mipInt + 1.0 );
|
|
1202
|
+
#endif
|
|
1203
|
+
`);
|
|
1153
1204
|
// here we create a new case in the lights_fragment_maps for the case of ENVMAP_TYPE_NONE
|
|
1154
1205
|
if (!THREE.ShaderChunk.lights_fragment_maps.includes('vec3 reflectVec')) {
|
|
1155
1206
|
const index = THREE.ShaderChunk.lights_fragment_maps.lastIndexOf('#endif');
|