@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.7.5 → 3.8.0

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.
@@ -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._environmentMapNamesHDRKhronos.indexOf(name) >= 0)
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._environmentMapNamesHDRKhronos.indexOf(name_internal) >= 0)
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: MATERIAL_TYPE, incomingData: IMaterialAbstractData | GeometryData, materialData: IMaterialAbstractData | null, materialSettings?: MaterialSettings): THREE.LineBasicMaterial | THREE.Material | THREE.MeshBasicMaterial | THREE.PointsMaterial | MultiPointsMaterial;
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: MATERIAL_TYPE, materialSettings?: MaterialSettings): {
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
- export declare enum MATERIAL_TYPE {
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":"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"}
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.MATERIAL_TYPE = exports.MaterialLoader = void 0;
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, MATERIAL_TYPE.LINE, undefined);
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].material instanceof THREE.MeshPhysicalMaterial && this._materialCache[cacheKey].materialData === null) {
188
+ if (this._materialCache[cacheKey].materialData === null) {
173
189
  const material = this._materialCache[cacheKey].material;
174
- const { properties, mapCount } = this.getMaterialProperties(this._defaultMaterialData, MATERIAL_TYPE.MESH, this._materialCache[cacheKey].materialSettings);
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.copy(new THREE.MeshPhysicalMaterial(properties));
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, MATERIAL_TYPE.POINT, undefined);
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 === MATERIAL_TYPE.POINT) {
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 === MATERIAL_TYPE.LINE) {
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
- material = new THREE.MeshPhysicalMaterial(properties);
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 === MATERIAL_TYPE.POINT) {
504
+ if (type === GEOMETRY_MATERIAL_TYPE.POINT) {
468
505
  return this.getMaterialProperties(this._defaultPointMaterialData, type, materialSettings);
469
506
  }
470
- else if (type === MATERIAL_TYPE.LINE) {
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 === MATERIAL_TYPE.POINT) {
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 === MATERIAL_TYPE.LINE) {
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
- const meshPhysicalProperties = standardProperties;
852
- meshPhysicalProperties.clearcoat = materialData.clearcoat;
853
- if (materialData.clearcoatMap !== undefined) {
854
- meshPhysicalProperties.clearcoatMap = this.createTexture(materialData.clearcoatMap);
855
- mapCount++;
856
- }
857
- if (materialData.clearcoatNormalMap !== undefined) {
858
- meshPhysicalProperties.clearcoatNormalMap = this.createTexture(materialData.clearcoatNormalMap);
859
- mapCount++;
860
- }
861
- meshPhysicalProperties.clearcoatRoughness = materialData.clearcoatRoughness;
862
- if (materialData.clearcoatRoughnessMap !== undefined) {
863
- meshPhysicalProperties.clearcoatRoughnessMap = this.createTexture(materialData.clearcoatRoughnessMap);
864
- mapCount++;
865
- }
866
- if (materialData.displacementMap !== undefined) {
867
- meshPhysicalProperties.displacementMap = this.createTexture(materialData.displacementMap);
868
- mapCount++;
869
- }
870
- meshPhysicalProperties.displacementScale = materialData.displacementScale;
871
- meshPhysicalProperties.displacementBias = materialData.displacementBias;
872
- meshPhysicalProperties.ior = materialData.ior;
873
- meshPhysicalProperties.transmission = materialData.transmission;
874
- if (materialData.transmissionMap !== undefined) {
875
- meshPhysicalProperties.transmissionMap = this.createTexture(materialData.transmissionMap);
876
- mapCount++;
877
- }
878
- meshPhysicalProperties.thickness = materialData.thickness;
879
- if (materialData.thicknessMap !== undefined) {
880
- meshPhysicalProperties.thicknessMap = this.createTexture(materialData.thicknessMap);
881
- mapCount++;
882
- }
883
- meshPhysicalProperties.attenuationDistance = materialData.attenuationDistance;
884
- meshPhysicalProperties.attenuationColor = this._renderingEngine.createThreeJsColor(materialData.attenuationColor);
885
- meshPhysicalProperties.sheen = materialData.sheen;
886
- meshPhysicalProperties.sheenColor = this._renderingEngine.createThreeJsColor(materialData.sheenColor);
887
- meshPhysicalProperties.sheenRoughness = materialData.sheenRoughness;
888
- if (materialData.sheenColorMap !== undefined) {
889
- meshPhysicalProperties.sheenColorMap = this.createTexture(materialData.sheenColorMap);
890
- mapCount++;
891
- }
892
- if (materialData.sheenRoughnessMap !== undefined) {
893
- meshPhysicalProperties.sheenRoughnessMap = this.createTexture(materialData.sheenRoughnessMap);
894
- mapCount++;
895
- }
896
- meshPhysicalProperties.specularIntensity = materialData.specularIntensity;
897
- if (materialData.specularIntensityMap !== undefined) {
898
- meshPhysicalProperties.specularIntensityMap = this.createTexture(materialData.specularIntensityMap);
899
- mapCount++;
900
- }
901
- meshPhysicalProperties.specularColor = this._renderingEngine.createThreeJsColor(materialData.specularColor);
902
- if (materialData.specularColorMap !== undefined) {
903
- meshPhysicalProperties.specularColorMap = this.createTexture(materialData.specularColorMap);
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
- meshPhysicalProperties.metalness = materialData.metalness;
907
- meshPhysicalProperties.roughness = materialData.roughness;
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
- // we should never get here
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 = MATERIAL_TYPE.POINT;
979
+ type = GEOMETRY_MATERIAL_TYPE.POINT;
943
980
  }
944
981
  else if (materialSettings && (materialSettings.mode === 1 || materialSettings.mode === 2 || materialSettings.mode === 3)) {
945
- type = MATERIAL_TYPE.LINE;
982
+ type = GEOMETRY_MATERIAL_TYPE.LINE;
946
983
  }
947
984
  else {
948
- type = MATERIAL_TYPE.MESH;
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 MATERIAL_TYPE;
1100
- (function (MATERIAL_TYPE) {
1101
- MATERIAL_TYPE["POINT"] = "point";
1102
- MATERIAL_TYPE["LINE"] = "line";
1103
- MATERIAL_TYPE["MESH"] = "mesh";
1104
- })(MATERIAL_TYPE = exports.MATERIAL_TYPE || (exports.MATERIAL_TYPE = {}));
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
- vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 );
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
- vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness );
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( -flipEnvMap * reflectVec.x, reflectVec.zy ) );
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 );', 'vec3 color0 = bilinearCubeUV( envMap, sampleDir.xzy, 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 );', 'vec3 color1 = bilinearCubeUV( envMap, sampleDir.xzy, 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');