x_ite 16.2.0 → 16.3.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.
Files changed (55) hide show
  1. package/README.md +6 -6
  2. package/dist/assets/components/AnnotationComponent.js +1 -1
  3. package/dist/assets/components/AnnotationComponent.min.js +1 -1
  4. package/dist/assets/components/CADGeometryComponent.js +1 -1
  5. package/dist/assets/components/CADGeometryComponent.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturingComponent.js +1 -1
  7. package/dist/assets/components/CubeMapTexturingComponent.min.js +1 -1
  8. package/dist/assets/components/DISComponent.js +1 -1
  9. package/dist/assets/components/DISComponent.min.js +1 -1
  10. package/dist/assets/components/EventUtilitiesComponent.js +1 -1
  11. package/dist/assets/components/EventUtilitiesComponent.min.js +1 -1
  12. package/dist/assets/components/GaussianSplatsComponent.js +1 -1
  13. package/dist/assets/components/GaussianSplatsComponent.min.js +1 -1
  14. package/dist/assets/components/Geometry2DComponent.js +1 -1
  15. package/dist/assets/components/Geometry2DComponent.min.js +1 -1
  16. package/dist/assets/components/Geometry3DComponent.js +1 -1
  17. package/dist/assets/components/Geometry3DComponent.min.js +1 -1
  18. package/dist/assets/components/GeospatialComponent.js +1 -1
  19. package/dist/assets/components/GeospatialComponent.min.js +1 -1
  20. package/dist/assets/components/HAnimComponent.js +1 -1
  21. package/dist/assets/components/HAnimComponent.min.js +1 -1
  22. package/dist/assets/components/KeyDeviceSensorComponent.js +1 -1
  23. package/dist/assets/components/KeyDeviceSensorComponent.min.js +1 -1
  24. package/dist/assets/components/LayoutComponent.js +1 -1
  25. package/dist/assets/components/LayoutComponent.min.js +1 -1
  26. package/dist/assets/components/NURBSComponent.js +1 -1
  27. package/dist/assets/components/NURBSComponent.min.js +1 -1
  28. package/dist/assets/components/ParticleSystemsComponent.js +1 -1
  29. package/dist/assets/components/ParticleSystemsComponent.min.js +1 -1
  30. package/dist/assets/components/PickingComponent.js +1 -1
  31. package/dist/assets/components/PickingComponent.min.js +1 -1
  32. package/dist/assets/components/RigidBodyPhysicsComponent.js +2 -2
  33. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +1 -1
  34. package/dist/assets/components/ScriptingComponent.js +1 -1
  35. package/dist/assets/components/ScriptingComponent.min.js +1 -1
  36. package/dist/assets/components/TextComponent.js +1 -1
  37. package/dist/assets/components/TextComponent.min.js +1 -1
  38. package/dist/assets/components/TextureProjectionComponent.js +1 -1
  39. package/dist/assets/components/TextureProjectionComponent.min.js +1 -1
  40. package/dist/assets/components/Texturing3DComponent.js +9 -9
  41. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  42. package/dist/assets/components/VolumeRenderingComponent.js +1 -1
  43. package/dist/assets/components/VolumeRenderingComponent.min.js +1 -1
  44. package/dist/assets/components/WebXRComponent.js +1 -1
  45. package/dist/assets/components/WebXRComponent.min.js +1 -1
  46. package/dist/assets/components/X_ITEComponent.js +107 -1
  47. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  48. package/dist/example.html +1 -1
  49. package/dist/x_ite.css +1 -1
  50. package/dist/x_ite.js +89 -30
  51. package/dist/x_ite.min.js +2 -2
  52. package/dist/x_ite.min.mjs +2 -2
  53. package/dist/x_ite.mjs +89 -30
  54. package/dist/x_ite.zip +0 -0
  55. package/package.json +5 -5
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v16.2.0 */
1
+ /* X_ITE v16.3.0 */
2
2
  (function webpackUniversalModuleDefinition(root, factory) {
3
3
  if(typeof exports === 'object' && typeof module === 'object')
4
4
  module.exports = factory();
@@ -12,7 +12,7 @@
12
12
  return /******/ (() => { // webpackBootstrap
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
15
- /***/ 627
15
+ /***/ 133
16
16
  (module, exports) {
17
17
 
18
18
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -1017,7 +1017,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1017
1017
 
1018
1018
  /***/ },
1019
1019
 
1020
- /***/ 249
1020
+ /***/ 991
1021
1021
  (module) {
1022
1022
 
1023
1023
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -2013,7 +2013,7 @@ return /******/ (function(modules) { // webpackBootstrap
2013
2013
 
2014
2014
  /***/ },
2015
2015
 
2016
- /***/ 289
2016
+ /***/ 643
2017
2017
  (module) {
2018
2018
 
2019
2019
  /**
@@ -18885,7 +18885,7 @@ const Legacy_default_ = Legacy;
18885
18885
 
18886
18886
  /* harmony default export */ const Browser_Legacy = (x_ite_Namespace .add ("Legacy", Legacy_default_));
18887
18887
  ;// ./src/x_ite/BROWSER_VERSION.js
18888
- const BROWSER_VERSION_default_ = "16.2.0";
18888
+ const BROWSER_VERSION_default_ = "16.3.0";
18889
18889
  ;
18890
18890
 
18891
18891
  /* harmony default export */ const BROWSER_VERSION = (x_ite_Namespace .add ("BROWSER_VERSION", BROWSER_VERSION_default_));
@@ -31212,7 +31212,7 @@ const Plane3_default_ = Plane3;
31212
31212
 
31213
31213
  /* harmony default export */ const Geometry_Plane3 = (x_ite_Namespace .add ("Plane3", Plane3_default_));
31214
31214
  ;// ./src/standard/Math/Geometry/Triangle3.js
31215
- /* provided dependency */ var libtess = __webpack_require__(289);
31215
+ /* provided dependency */ var libtess = __webpack_require__(643);
31216
31216
 
31217
31217
 
31218
31218
  const Triangle3 =
@@ -39091,8 +39091,9 @@ Object .assign (Object .setPrototypeOf (TimeSensor .prototype, Core_X3DSensorNod
39091
39091
  {
39092
39092
  this .cycle += this .interval * Math .floor ((time - this .cycle) / this .interval);
39093
39093
 
39094
- this ._elapsedTime = this .getElapsedTime ();
39095
- this ._cycleTime = time;
39094
+ this ._elapsedTime = this .getElapsedTime ();
39095
+ this ._cycleComplete = time;
39096
+ this ._cycleTime = time;
39096
39097
 
39097
39098
  this .set_fraction (time);
39098
39099
  }
@@ -39100,6 +39101,7 @@ Object .assign (Object .setPrototypeOf (TimeSensor .prototype, Core_X3DSensorNod
39100
39101
  else
39101
39102
  {
39102
39103
  this ._elapsedTime = this .getElapsedTime ();
39104
+ this ._cycleComplete = time;
39103
39105
  this ._fraction_changed = this .fraction = this .last;
39104
39106
 
39105
39107
  this .stop ();
@@ -39137,6 +39139,7 @@ Object .defineProperties (TimeSensor,
39137
39139
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "isPaused", new x_ite_Fields .SFBool ()),
39138
39140
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "isActive", new x_ite_Fields .SFBool ()),
39139
39141
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "cycleTime", new x_ite_Fields .SFTime ()),
39142
+ new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "cycleComplete", new x_ite_Fields .SFTime ()),
39140
39143
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "elapsedTime", new x_ite_Fields .SFTime ()),
39141
39144
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "fraction_changed", new x_ite_Fields .SFFloat ()),
39142
39145
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "time", new x_ite_Fields .SFTime ()),
@@ -40683,6 +40686,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
40683
40686
  case "KHR_materials_ior":
40684
40687
  case "KHR_materials_iridescence":
40685
40688
  case "KHR_materials_pbrSpecularGlossiness":
40689
+ case "KHR_materials_retroreflection":
40686
40690
  case "KHR_materials_sheen":
40687
40691
  case "KHR_materials_specular":
40688
40692
  case "KHR_materials_transmission":
@@ -41751,6 +41755,9 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
41751
41755
  case "KHR_materials_iridescence":
41752
41756
  this .khrMaterialsIridescenceObject (value, materialNode);
41753
41757
  break;
41758
+ case "KHR_materials_retroreflection":
41759
+ this .khrMaterialsRetroreflectionObject (value, materialNode);
41760
+ break;
41754
41761
  case "KHR_materials_sheen":
41755
41762
  this .khrMaterialsSheenObject (value, materialNode);
41756
41763
  break;
@@ -41898,6 +41905,23 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
41898
41905
 
41899
41906
  materialNode ._extensions .push (extension);
41900
41907
  },
41908
+ khrMaterialsRetroreflectionObject (KHR_materials_retroreflection, materialNode)
41909
+ {
41910
+ if (!(KHR_materials_retroreflection instanceof Object))
41911
+ return;
41912
+
41913
+ const extension = this .getScene () .createNode ("RetroreflectionMaterialExtension", false);
41914
+
41915
+ extension ._retroreflection = this .numberValue (KHR_materials_retroreflection .retroreflectionFactor, 0);
41916
+ extension ._retroreflectionTexture = this .textureInfo (KHR_materials_retroreflection .retroreflectionTexture);
41917
+ extension ._retroreflectionTextureMapping = this .textureMapping (KHR_materials_retroreflection .retroreflectionTexture);
41918
+
41919
+ extension .setup ();
41920
+
41921
+ KHR_materials_retroreflection .pointers = [extension];
41922
+
41923
+ materialNode ._extensions .push (extension);
41924
+ },
41901
41925
  khrMaterialsSheenObject (KHR_materials_sheen, materialNode)
41902
41926
  {
41903
41927
  if (!(KHR_materials_sheen instanceof Object))
@@ -47912,7 +47936,7 @@ const Bezier_default_ = Bezier;
47912
47936
 
47913
47937
  /* harmony default export */ const Algorithms_Bezier = (x_ite_Namespace .add ("Bezier", Bezier_default_));
47914
47938
  ;// ./src/x_ite/Parser/SVGParser.js
47915
- /* provided dependency */ var SVGParser_libtess = __webpack_require__(289);
47939
+ /* provided dependency */ var SVGParser_libtess = __webpack_require__(643);
47916
47940
 
47917
47941
 
47918
47942
 
@@ -54658,7 +54682,7 @@ function X3DCoreContext (element)
54658
54682
  {
54659
54683
  const link = document .createElement ("link");
54660
54684
 
54661
- link .integrity = "sha384-OncRzbLtLD5Caw7AMriMRlhuhJ/fW3gh5dFvrdeifrhlqF+YTzx/lbZh5l6JjYau";
54685
+ link .integrity = "sha384-dhnoOI+clBqqFYGBrUCL7KhjerG/JEhXRHWvaNS1qEwbCU/f0MWYgFRQj2esJwbi";
54662
54686
  link .rel = "stylesheet";
54663
54687
  link .crossOrigin = "anonymous";
54664
54688
  link .onload = resolve;
@@ -64054,11 +64078,13 @@ const
64054
64078
  _loadingTotal = Symbol (),
64055
64079
  X3DNetworkingContext_loadingObjects = Symbol (),
64056
64080
  _browserLoading = Symbol (),
64057
- _browserTime = Symbol (),
64081
+ _percentTime = Symbol (),
64058
64082
  _set_loadCount = Symbol (),
64059
64083
  _loadFractions = Symbol (),
64060
64084
  _defaultScene = Symbol ();
64061
64085
 
64086
+ const PERCENT_TIME = 8_000; // in ms
64087
+
64062
64088
  function getBaseURI (element)
64063
64089
  {
64064
64090
  const { baseURI } = element;
@@ -64115,7 +64141,7 @@ Object .assign (X3DNetworkingContext .prototype,
64115
64141
  setBrowserLoading (value)
64116
64142
  {
64117
64143
  this [_browserLoading] = value;
64118
- this [_browserTime] = Date .now ();
64144
+ this [_percentTime] = Date .now ();
64119
64145
 
64120
64146
  if (value)
64121
64147
  {
@@ -64179,7 +64205,8 @@ Object .assign (X3DNetworkingContext .prototype,
64179
64205
 
64180
64206
  this ._loadCount = this [X3DNetworkingContext_loadingObjects] .size;
64181
64207
 
64182
- this [_browserTime] = Date .now ();
64208
+ if (Date .now () - this [_percentTime] < PERCENT_TIME)
64209
+ this [_percentTime] = Date .now ();
64183
64210
  },
64184
64211
  removeLoadingObject (object)
64185
64212
  {
@@ -64187,7 +64214,8 @@ Object .assign (X3DNetworkingContext .prototype,
64187
64214
 
64188
64215
  this ._loadCount = this [X3DNetworkingContext_loadingObjects] .size;
64189
64216
 
64190
- this [_browserTime] = Date .now ();
64217
+ if (Date .now () - this [_percentTime] < PERCENT_TIME)
64218
+ this [_percentTime] = Date .now ();
64191
64219
  },
64192
64220
  getDisplayLoadCount ()
64193
64221
  {
@@ -64223,8 +64251,8 @@ Object .assign (X3DNetworkingContext .prototype,
64223
64251
  if (this ._loadCount .getValue () || this [_browserLoading])
64224
64252
  {
64225
64253
  string = ((loadingDisplay || 1) === 1
64226
- ? gettext ("Loading %1 file")
64227
- : gettext ("Loading %1 files")) .replace ("%1", loadingDisplay || 1);
64254
+ ? gettext("Loading %1 file")
64255
+ : gettext("Loading %1 files")) .replace ("%1", loadingDisplay || 1);
64228
64256
  }
64229
64257
  else
64230
64258
  {
@@ -64244,8 +64272,8 @@ Object .assign (X3DNetworkingContext .prototype,
64244
64272
  const percent = fractions * 100;
64245
64273
 
64246
64274
  // Show progress in % if loading takes too long.
64247
- if (Date .now () - this [_browserTime] > 8_000)
64248
- string += ` (${percent .toFixed (2)} %)`;
64275
+ if (Date .now () - this [_percentTime] > PERCENT_TIME)
64276
+ string += ` (${percent .toFixed (2)}\u202F%)`;
64249
64277
 
64250
64278
  this .getSplashScreen () .querySelector (".x_ite-private-spinner-text") .textContent = string;
64251
64279
  this .getSplashScreen () .querySelector (".x_ite-private-progressbar div") .style .width = `${percent}%`;
@@ -67096,7 +67124,7 @@ vec3 getIBLRadianceCharlie(const in vec3 n,const in vec3 v,const in float sheenR
67096
67124
 
67097
67125
 
67098
67126
  const MaterialInfo2_glsl_default_ = () => /* glsl */ `
67099
- struct MaterialInfo{float ior;float perceptualRoughness;vec3 f0_dielectric;float alphaRoughness;float fresnel_w;vec3 f90;vec3 f90_dielectric;float metallic;vec3 baseColor;float sheenRoughnessFactor;vec3 sheenColorFactor;vec3 clearcoatF0;vec3 clearcoatF90;float clearcoatFactor;vec3 clearcoatNormal;float clearcoatRoughness;float specularWeight;float transmissionFactor;float thickness;vec3 attenuationColor;float attenuationDistance;float iridescenceFactor;float iridescenceIor;float iridescenceThickness;float diffuseTransmissionFactor;vec3 diffuseTransmissionColorFactor;vec3 anisotropicT;vec3 anisotropicB;float anisotropyStrength;float dispersion;vec3 multiscatterColor;};
67127
+ struct MaterialInfo{float ior;float perceptualRoughness;vec3 f0_dielectric;float alphaRoughness;float fresnel_w;vec3 f90;vec3 f90_dielectric;float metallic;vec3 baseColor;float sheenRoughnessFactor;vec3 sheenColorFactor;vec3 clearcoatF0;vec3 clearcoatF90;float clearcoatFactor;vec3 clearcoatNormal;float clearcoatRoughness;float specularWeight;float transmissionFactor;float thickness;vec3 attenuationColor;float attenuationDistance;float iridescenceFactor;float iridescenceIor;float iridescenceThickness;float diffuseTransmissionFactor;vec3 diffuseTransmissionColorFactor;vec3 anisotropicT;vec3 anisotropicB;float anisotropyStrength;float dispersion;vec3 multiscatterColor;float retroreflectionFactor;};
67100
67128
  #if defined(X3D_MATERIAL_METALLIC_ROUGHNESS)
67101
67129
  ${MaterialTextures .texture ("x3d_BaseTexture", "rgba", "linear")}
67102
67130
  vec4 getBaseColor(){float alpha=1.-x3d_Material.transparency;vec4 baseColor=vec4(x3d_Material.baseColor,alpha);
@@ -67261,6 +67289,14 @@ vec3 anisotropySample=getAnisotropyTextureEXT();direction=anisotropySample.xy*2.
67261
67289
  #endif
67262
67290
  vec2 directionRotation=x3d_AnisotropyEXT.xy;mat2 rotationMatrix=mat2(directionRotation.xy,-directionRotation.y,directionRotation.x);direction=rotationMatrix*direction;info.anisotropicT=mat3(normalInfo.t,normalInfo.b,normalInfo.n)*normalize(vec3(direction,0.));info.anisotropicB=cross(normalInfo.ng,info.anisotropicT);info.anisotropyStrength=clamp(x3d_AnisotropyEXT.z*strengthFactor,0.,1.);return info;}
67263
67291
  #endif
67292
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67293
+ ${MaterialTextures .texture ("x3d_RetroreflectionTextureEXT", "r")}
67294
+ uniform float x3d_RetroreflectionEXT;MaterialInfo getRetroreflectionInfo(in MaterialInfo info){float retroreflectionFactor=x3d_RetroreflectionEXT;
67295
+ #if defined(X3D_RETROREFLECTION_TEXTURE_EXT)
67296
+ retroreflectionFactor*=getRetroreflectionTextureEXT();
67297
+ #endif
67298
+ info.retroreflectionFactor=retroreflectionFactor;return info;}
67299
+ #endif
67264
67300
  `
67265
67301
  ;
67266
67302
 
@@ -67303,6 +67339,9 @@ baseColor.rgb*=getTextureProjectorColor();
67303
67339
  vec3 color=vec3(0);vec3 v=normalize(-vertex);
67304
67340
  #if defined(X3D_USE_IBL)||defined(X3D_LIGHTING)
67305
67341
  NormalInfo normalInfo=getNormalInfo(x3d_Material.normalScale);vec3 n=normalInfo.n;float NdotV=clamp(dot(n,v),0.,1.);
67342
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67343
+ vec3 v_retro=reflect(-v,n);float NdotV_retro=clamp(dot(n,v_retro),0.,1.);
67344
+ #endif
67306
67345
  #endif
67307
67346
  MaterialInfo materialInfo;materialInfo.baseColor=baseColor.rgb;materialInfo.ior=1.5;materialInfo.f0_dielectric=vec3(.04);materialInfo.specularWeight=1.;materialInfo.f90=vec3(1);materialInfo.f90_dielectric=materialInfo.f90;
67308
67347
  #if defined(X3D_IOR_MATERIAL_EXT)
@@ -67338,10 +67377,17 @@ materialInfo=getVolumeScatterInfo(materialInfo);
67338
67377
  #if defined(X3D_ANISOTROPY_MATERIAL_EXT)
67339
67378
  materialInfo=getAnisotropyInfo(materialInfo,normalInfo);
67340
67379
  #endif
67380
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67381
+ materialInfo=getRetroreflectionInfo(materialInfo);
67382
+ #endif
67341
67383
  materialInfo.perceptualRoughness=clamp(materialInfo.perceptualRoughness,0.,1.);materialInfo.metallic=clamp(materialInfo.metallic,0.,1.);materialInfo.alphaRoughness=materialInfo.perceptualRoughness*materialInfo.perceptualRoughness;vec3 f_specular_dielectric=vec3(0);vec3 f_specular_metal=vec3(0);vec3 f_diffuse=vec3(0);vec3 f_dielectric_brdf_ibl=vec3(0);vec3 f_metal_brdf_ibl=vec3(0);vec3 f_emissive=vec3(0);vec3 clearcoat_brdf=vec3(0);vec3 f_sheen=vec3(0);vec3 f_specular_transmission=vec3(0);vec3 f_diffuse_transmission=vec3(0);float clearcoatFactor=0.;vec3 clearcoatFresnel=vec3(0);float albedoSheenScaling=1.;float diffuseTransmissionThickness=1.;vec3 diffuseTransmissionIBL=vec3(0);
67342
67384
  #if defined(X3D_USE_IBL)||defined(X3D_LIGHTING)
67343
67385
  #if defined(X3D_IRIDESCENCE_MATERIAL_EXT)
67344
- vec3 iridescenceFresnel_dielectric=evalIridescence(1.,materialInfo.iridescenceIor,NdotV,materialInfo.iridescenceThickness,materialInfo.f0_dielectric);vec3 iridescenceFresnel_metallic=evalIridescence(1.,materialInfo.iridescenceIor,NdotV,materialInfo.iridescenceThickness,baseColor.rgb);if(materialInfo.iridescenceThickness==0.)materialInfo.iridescenceFactor=0.;
67386
+ vec3 iridescenceFresnel_dielectric=evalIridescence(1.,materialInfo.iridescenceIor,NdotV,materialInfo.iridescenceThickness,materialInfo.f0_dielectric);vec3 iridescenceFresnel_metallic=evalIridescence(1.,materialInfo.iridescenceIor,NdotV,materialInfo.iridescenceThickness,baseColor.rgb);
67387
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67388
+ vec3 iridescenceFresnel_dielectric_retro=evalIridescence(1.,materialInfo.iridescenceIor,NdotV_retro,materialInfo.iridescenceThickness,materialInfo.f0_dielectric);vec3 iridescenceFresnel_metallic_retro=evalIridescence(1.,materialInfo.iridescenceIor,NdotV_retro,materialInfo.iridescenceThickness,baseColor.rgb);
67389
+ #endif
67390
+ if(materialInfo.iridescenceThickness==0.)materialInfo.iridescenceFactor=0.;
67345
67391
  #endif
67346
67392
  #endif
67347
67393
  #if defined(X3D_DIFFUSE_TRANSMISSION_MATERIAL_EXT)
@@ -67420,6 +67466,19 @@ l_metal_brdf=metal_fresnel*l_specular_metal;l_dielectric_brdf=mix(l_diffuse,l_sp
67420
67466
  #if defined(X3D_IRIDESCENCE_MATERIAL_EXT)
67421
67467
  l_metal_brdf=mix(l_metal_brdf,l_specular_metal*iridescenceFresnel_metallic,materialInfo.iridescenceFactor);l_dielectric_brdf=mix(l_dielectric_brdf,rgb_mix(l_diffuse,l_specular_dielectric,iridescenceFresnel_dielectric),materialInfo.iridescenceFactor);
67422
67468
  #endif
67469
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67470
+ vec3 h_retro=normalize(l+v_retro);float NdotH_retro=clamp(dot(n,h_retro),0.,1.);float VdotH_retro=clamp(dot(v_retro,h_retro),0.,1.);vec3 dielectric_fresnel_retro=F_Schlick(materialInfo.f0_dielectric*materialInfo.specularWeight,materialInfo.f90_dielectric,abs(VdotH_retro));vec3 metal_fresnel_retro=F_Schlick(baseColor.rgb,vec3(1),abs(VdotH_retro));vec3 l_specular_metal_retro;
67471
+ #if defined(X3D_ANISOTROPY_MATERIAL_EXT)
67472
+ l_specular_metal_retro=intensity*NdotL*BRDF_specularGGXAnisotropy(materialInfo.alphaRoughness,materialInfo.anisotropyStrength,n,v_retro,l,h_retro,materialInfo.anisotropicT,materialInfo.anisotropicB);
67473
+ #else
67474
+ l_specular_metal_retro=intensity*NdotL*BRDF_specularGGX(materialInfo.alphaRoughness,NdotL,NdotV_retro,NdotH_retro);
67475
+ #endif
67476
+ vec3 l_specular_dielectric_retro=l_specular_metal_retro;vec3 l_metal_brdf_retro=metal_fresnel_retro*l_specular_metal_retro;vec3 l_dielectric_brdf_retro=mix(l_diffuse,l_specular_dielectric_retro,dielectric_fresnel_retro);
67477
+ #if defined(X3D_IRIDESCENCE_MATERIAL_EXT)
67478
+ l_metal_brdf_retro=mix(l_metal_brdf_retro,l_specular_metal*iridescenceFresnel_metallic_retro,materialInfo.iridescenceFactor);l_dielectric_brdf_retro=mix(l_dielectric_brdf_retro,rgb_mix(l_diffuse,l_specular_dielectric,iridescenceFresnel_dielectric_retro),materialInfo.iridescenceFactor);
67479
+ #endif
67480
+ l_metal_brdf=mix(l_metal_brdf,l_metal_brdf_retro,materialInfo.retroreflectionFactor);l_dielectric_brdf=mix(l_dielectric_brdf,l_dielectric_brdf_retro,materialInfo.retroreflectionFactor);
67481
+ #endif
67423
67482
  #if defined(X3D_CLEARCOAT_MATERIAL_EXT)
67424
67483
  l_clearcoat_brdf=intensity*getPunctualRadianceClearCoat(materialInfo.clearcoatNormal,v,l,h,VdotH,materialInfo.clearcoatF0,materialInfo.clearcoatF90,materialInfo.clearcoatRoughness);
67425
67484
  #endif
@@ -72898,7 +72957,7 @@ const
72898
72957
  _animFrame = Symbol (),
72899
72958
  _previousTime = Symbol (),
72900
72959
  _systemTime = Symbol (),
72901
- X3DBrowserContext_browserTime = Symbol (),
72960
+ _browserTime = Symbol (),
72902
72961
  _cameraTime = Symbol (),
72903
72962
  _collisionTime = Symbol (),
72904
72963
  _displayTime = Symbol (),
@@ -72950,7 +73009,7 @@ function X3DBrowserContext (element)
72950
73009
  this [_previousTime] = 0;
72951
73010
  this [_renderCallback] = this [_traverse] .bind (this);
72952
73011
  this [_systemTime] = new Time_StopWatch ();
72953
- this [X3DBrowserContext_browserTime] = new Time_StopWatch ();
73012
+ this [_browserTime] = new Time_StopWatch ();
72954
73013
  this [_cameraTime] = new Time_StopWatch ();
72955
73014
  this [_collisionTime] = new Time_StopWatch ();
72956
73015
  this [_displayTime] = new Time_StopWatch ();
@@ -73070,7 +73129,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowserContext .prototype, Base_X3DBa
73070
73129
  // Start
73071
73130
 
73072
73131
  this [_systemTime] .stop ();
73073
- this [X3DBrowserContext_browserTime] .start ();
73132
+ this [_browserTime] .start ();
73074
73133
 
73075
73134
  // Time
73076
73135
 
@@ -73131,7 +73190,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowserContext .prototype, Base_X3DBa
73131
73190
 
73132
73191
  // Finish
73133
73192
 
73134
- this [X3DBrowserContext_browserTime] .stop ();
73193
+ this [_browserTime] .stop ();
73135
73194
  this [_systemTime] .start ();
73136
73195
  },
73137
73196
  getSystemTime ()
@@ -73140,7 +73199,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowserContext .prototype, Base_X3DBa
73140
73199
  },
73141
73200
  getBrowserTime ()
73142
73201
  {
73143
- return this [X3DBrowserContext_browserTime];
73202
+ return this [_browserTime];
73144
73203
  },
73145
73204
  getCameraTime ()
73146
73205
  {
@@ -87281,7 +87340,7 @@ Object .assign (Object .setPrototypeOf (PhysicalMaterial .prototype, Shape_X3DOn
87281
87340
 
87282
87341
  this .setTransmission (extensionNodes .some (extensionNode => extensionNode .getType () .includes (Base_X3DConstants .TransmissionMaterialExtension)));
87283
87342
 
87284
- this .setVolumeScatter (extensionNodes .some (extensionNode => extensionNode .getType () .includes (Base_X3DConstants .VolumeScatterMaterialExtension)) && extensionNodes .some (extensionNode => extensionNode .getType () .includes (Base_X3DConstants .VolumeMaterialExtension)));
87343
+ this .setVolumeScatter (extensionNodes .some (extensionNode => extensionNode .getType () .includes (Base_X3DConstants .VolumeScatterMaterialExtension)));
87285
87344
 
87286
87345
  this .set_extensionsKey__ ();
87287
87346
  this .set_renderedTextures__ ();
@@ -91442,8 +91501,8 @@ const PNGMedia_default_ = PNGMedia;
91442
91501
 
91443
91502
  /* harmony default export */ const Texturing_PNGMedia = (x_ite_Namespace .add ("PNGMedia", PNGMedia_default_));
91444
91503
  ;// ./src/x_ite/Components/Texturing/MovieTexture.js
91445
- /* provided dependency */ var SuperGif = __webpack_require__(627);
91446
- /* provided dependency */ var APNG = __webpack_require__(249);
91504
+ /* provided dependency */ var SuperGif = __webpack_require__(133);
91505
+ /* provided dependency */ var APNG = __webpack_require__(991);
91447
91506
 
91448
91507
 
91449
91508
 
@@ -93394,7 +93453,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
93394
93453
  {
93395
93454
  const spinnerText = this .getSplashScreen () .querySelector (".x_ite-private-spinner-text");
93396
93455
 
93397
- spinnerText .textContent = gettext ("Failed loading world.");
93456
+ spinnerText .textContent = gettext("Failed loading world.");
93398
93457
  });
93399
93458
 
93400
93459
  reject (new Error ("Couldn't load X3D file."));
@@ -94087,7 +94146,7 @@ const QuickSort_default_ = QuickSort;
94087
94146
 
94088
94147
  /* harmony default export */ const Algorithms_QuickSort = (x_ite_Namespace .add ("QuickSort", QuickSort_default_));
94089
94148
  ;// ./src/lib/libtess.js
94090
- /* provided dependency */ var libtess_libtess = __webpack_require__(289);
94149
+ /* provided dependency */ var libtess_libtess = __webpack_require__(643);
94091
94150
  const libtess_default_ = libtess_libtess;
94092
94151
  ;
94093
94152