x_ite 9.0.1 → 9.0.2

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 (47) hide show
  1. package/dist/assets/components/Annotation.js +13 -13
  2. package/dist/assets/components/Annotation.min.js +1 -1
  3. package/dist/assets/components/CADGeometry.js +14 -14
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +41 -46
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -13
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +9 -9
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +19 -19
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +33 -33
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +23 -23
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +27 -27
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +24 -24
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +23 -23
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +18 -18
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +17 -17
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +38 -38
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +24 -24
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjection.js +15 -15
  34. package/dist/assets/components/TextureProjection.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +30 -30
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +19 -19
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +9 -9
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/x_ite.css +1 -1
  42. package/dist/x_ite.js +162 -208
  43. package/dist/x_ite.min.js +1 -1
  44. package/dist/x_ite.min.mjs +1 -1
  45. package/dist/x_ite.mjs +162 -208
  46. package/dist/x_ite.zip +0 -0
  47. package/package.json +1 -1
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v9.0.1 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v9.0.2 */(function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
3
  module.exports = factory();
4
4
  else if(typeof define === 'function' && define.amd)
@@ -11,10 +11,10 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 970:
14
+ /***/ 699:
15
15
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
16
16
 
17
- /* provided dependency */ var jQuery = __webpack_require__(979);
17
+ /* provided dependency */ var jQuery = __webpack_require__(718);
18
18
  /**
19
19
  * @preserve jquery.fullscreen 1.1.5
20
20
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -210,7 +210,7 @@ installFullScreenHandlers();
210
210
 
211
211
  /***/ }),
212
212
 
213
- /***/ 506:
213
+ /***/ 801:
214
214
  /***/ ((module, exports, __webpack_require__) => {
215
215
 
216
216
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -224,7 +224,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
224
224
  (function (factory) {
225
225
  if ( true ) {
226
226
  // AMD. Register as an anonymous module.
227
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(979)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
227
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(718)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
228
228
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
229
229
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
230
230
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -435,7 +435,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
435
435
 
436
436
  /***/ }),
437
437
 
438
- /***/ 979:
438
+ /***/ 718:
439
439
  /***/ (function(module, exports) {
440
440
 
441
441
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11159,7 +11159,7 @@ return jQuery;
11159
11159
 
11160
11160
  /***/ }),
11161
11161
 
11162
- /***/ 235:
11162
+ /***/ 89:
11163
11163
  /***/ ((module) => {
11164
11164
 
11165
11165
  /**
@@ -15938,7 +15938,7 @@ if (true) {
15938
15938
 
15939
15939
  /***/ }),
15940
15940
 
15941
- /***/ 264:
15941
+ /***/ 994:
15942
15942
  /***/ (function(__unused_webpack_module, exports) {
15943
15943
 
15944
15944
 
@@ -19183,7 +19183,7 @@ if (true) {
19183
19183
 
19184
19184
  /***/ }),
19185
19185
 
19186
- /***/ 67:
19186
+ /***/ 630:
19187
19187
  /***/ (function(module, exports) {
19188
19188
 
19189
19189
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20311,7 +20311,7 @@ Object .defineProperty (Namespace, "add",
20311
20311
  }
20312
20312
  else
20313
20313
  {
20314
- const X3D = window [Symbol .for ("X_ITE.X3D-9.0.1")];
20314
+ const X3D = window [Symbol .for ("X_ITE.X3D-9.0.2")];
20315
20315
 
20316
20316
  if (X3D)
20317
20317
  X3D [name] = module;
@@ -34133,7 +34133,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34133
34133
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34134
34134
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34135
34135
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34136
- /* provided dependency */ var $ = __webpack_require__(979);
34136
+ /* provided dependency */ var $ = __webpack_require__(718);
34137
34137
  /*******************************************************************************
34138
34138
  *
34139
34139
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34270,7 +34270,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34270
34270
  *
34271
34271
  ******************************************************************************/
34272
34272
 
34273
- const VERSION_default_ = "9.0.1";
34273
+ const VERSION_default_ = "9.0.2";
34274
34274
  ;
34275
34275
 
34276
34276
  x_ite_Namespace .add ("VERSION", "x_ite/Browser/VERSION", VERSION_default_);
@@ -38072,7 +38072,7 @@ const X3DProtoDeclarationNode_default_ = X3DProtoDeclarationNode;
38072
38072
  x_ite_Namespace .add ("X3DProtoDeclarationNode", "x_ite/Prototype/X3DProtoDeclarationNode", X3DProtoDeclarationNode_default_);
38073
38073
  /* harmony default export */ const Prototype_X3DProtoDeclarationNode = (X3DProtoDeclarationNode_default_);
38074
38074
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
38075
- /* provided dependency */ var X3DParser_$ = __webpack_require__(979);
38075
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(718);
38076
38076
  /*******************************************************************************
38077
38077
  *
38078
38078
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38897,7 +38897,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
38897
38897
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
38898
38898
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
38899
38899
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
38900
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(979);
38900
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(718);
38901
38901
  /*******************************************************************************
38902
38902
  *
38903
38903
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -41442,7 +41442,7 @@ const VRMLParser_default_ = VRMLParser;
41442
41442
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
41443
41443
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
41444
41444
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
41445
- /* provided dependency */ var XMLParser_$ = __webpack_require__(979);
41445
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(718);
41446
41446
  /*******************************************************************************
41447
41447
  *
41448
41448
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43534,7 +43534,7 @@ const URLs_default_ = URLs;
43534
43534
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
43535
43535
  /* harmony default export */ const Networking_URLs = (URLs_default_);
43536
43536
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
43537
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(979);
43537
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(718);
43538
43538
  /*******************************************************************************
43539
43539
  *
43540
43540
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -46835,7 +46835,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
46835
46835
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
46836
46836
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
46837
46837
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
46838
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(979);
46838
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(718);
46839
46839
  /*******************************************************************************
46840
46840
  *
46841
46841
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -46987,7 +46987,7 @@ const GLB2Parser_default_ = GLB2Parser;
46987
46987
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
46988
46988
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
46989
46989
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
46990
- /* provided dependency */ var OBJParser_$ = __webpack_require__(979);
46990
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(718);
46991
46991
  /*******************************************************************************
46992
46992
  *
46993
46993
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50342,8 +50342,8 @@ const MatrixStack_default_ = MatrixStack;
50342
50342
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
50343
50343
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
50344
50344
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
50345
- /* provided dependency */ var SVGParser_$ = __webpack_require__(979);
50346
- /* provided dependency */ var libtess = __webpack_require__(235);
50345
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(718);
50346
+ /* provided dependency */ var libtess = __webpack_require__(89);
50347
50347
  /*******************************************************************************
50348
50348
  *
50349
50349
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53111,7 +53111,7 @@ const SVGParser_default_ = SVGParser;
53111
53111
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
53112
53112
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
53113
53113
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
53114
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(979);
53114
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(718);
53115
53115
  /*******************************************************************************
53116
53116
  *
53117
53117
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53448,7 +53448,7 @@ const Plane3_default_ = Plane3;
53448
53448
  x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
53449
53449
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
53450
53450
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
53451
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(235);
53451
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(89);
53452
53452
  /*******************************************************************************
53453
53453
  *
53454
53454
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -60655,10 +60655,8 @@ Object .assign (Object .setPrototypeOf (X3DSingleTextureNode .prototype, Texturi
60655
60655
  if (this .texturePropertiesNode)
60656
60656
  this .texturePropertiesNode .removeInterest ("updateTextureParameters", this);
60657
60657
 
60658
- this .texturePropertiesNode = Base_X3DCast (Base_X3DConstants .TextureProperties, this ._textureProperties);
60659
-
60660
- if (!this .texturePropertiesNode)
60661
- this .texturePropertiesNode = this .getBrowser () .getDefaultTextureProperties ();
60658
+ this .texturePropertiesNode = Base_X3DCast (Base_X3DConstants .TextureProperties, this ._textureProperties)
60659
+ ?? this .getBrowser () .getDefaultTextureProperties ();
60662
60660
 
60663
60661
  this .texturePropertiesNode .addInterest ("updateTextureParameters", this);
60664
60662
 
@@ -60693,8 +60691,9 @@ Object .assign (Object .setPrototypeOf (X3DSingleTextureNode .prototype, Texturi
60693
60691
  {
60694
60692
  if (this .generateMipMaps)
60695
60693
  {
60694
+ // https://stackoverflow.com/a/25640078/1818915
60696
60695
  this .levels = textureProperties ._generateMipMaps .getValue ()
60697
- ? 1 + Math .log2 (Math .max (width, height))
60696
+ ? 1 + Math .floor (Math .log2 (Math .max (width, height)))
60698
60697
  : 1;
60699
60698
 
60700
60699
  if (textureProperties ._generateMipMaps .getValue ())
@@ -60958,7 +60957,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
60958
60957
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
60959
60958
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
60960
60959
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
60961
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(979);
60960
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(718);
60962
60961
  /*******************************************************************************
60963
60962
  *
60964
60963
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -63679,9 +63678,7 @@ Object .assign (Object .setPrototypeOf (X3DViewpointNode .prototype, Core_X3DBin
63679
63678
  {
63680
63679
  bbox = bbox .copy () .multRight (this .getModelMatrix () .copy () .inverse ());
63681
63680
 
63682
- const minDistance = Math .max (layerNode .getNavigationInfo () .getNearValue () * 2, this .getLookAtDistance (bbox));
63683
-
63684
- this .lookAt (layerNode, bbox .center, minDistance, transitionTime, factor, straighten);
63681
+ this .lookAt (layerNode, bbox .center, this .getLookAtDistance (bbox), transitionTime, factor, straighten);
63685
63682
  },
63686
63683
  lookAt (layerNode, point, distance, transitionTime = 1, factor = 1, straighten = false)
63687
63684
  {
@@ -63718,7 +63715,7 @@ Object .assign (Object .setPrototypeOf (X3DViewpointNode .prototype, Core_X3DBin
63718
63715
 
63719
63716
  this ._fieldOfViewScale = 1;
63720
63717
  this ._centerOfRotationOffset = point .copy () .subtract (this .getCenterOfRotation ());
63721
- this .nearDistance = Math .min (distance / 2, 0.125);
63718
+ this .nearDistance = distance * (0.125 / 10);
63722
63719
  this .farDistance = this .nearDistance * this .getMaxFarValue () / 0.125;
63723
63720
 
63724
63721
  this .setInterpolators (this, relative);
@@ -63776,7 +63773,7 @@ Object .assign (Object .setPrototypeOf (X3DViewpointNode .prototype, Core_X3DBin
63776
63773
  })(),
63777
63774
  viewAll (bbox)
63778
63775
  {
63779
- bbox .multRight (this .modelMatrix .copy () .inverse ());
63776
+ bbox .copy () .multRight (this .modelMatrix .copy () .inverse ());
63780
63777
 
63781
63778
  const
63782
63779
  direction = this .getUserPosition () .copy () .subtract (bbox .center) .normalize (),
@@ -63788,7 +63785,7 @@ Object .assign (Object .setPrototypeOf (X3DViewpointNode .prototype, Core_X3DBin
63788
63785
  this ._orientationOffset = this .getOrientation () .copy () .inverse () .multRight (userOrientation);
63789
63786
  this ._centerOfRotationOffset = bbox .center .copy () .subtract (this .getCenterOfRotation ());
63790
63787
  this ._fieldOfViewScale = 1;
63791
- this .nearDistance = Math .min ((distance - bbox .size .magnitude ()) / 2, 0.125);
63788
+ this .nearDistance = distance * (0.125 / 10);
63792
63789
  this .farDistance = this .nearDistance * this .getMaxFarValue () / 0.125;
63793
63790
  },
63794
63791
  traverse (type, renderObject)
@@ -65549,7 +65546,7 @@ const X3DWorld_default_ = X3DWorld;
65549
65546
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
65550
65547
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
65551
65548
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
65552
- /* provided dependency */ var FileLoader_$ = __webpack_require__(979);
65549
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(718);
65553
65550
  /*******************************************************************************
65554
65551
  *
65555
65552
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -79675,7 +79672,7 @@ Object .assign (Object .setPrototypeOf (X3DLightNode .prototype, Core_X3DChildNo
79675
79672
  },
79676
79673
  getLightKey ()
79677
79674
  {
79678
- return 1;
79675
+ return 1; // [ClipPlane 0, X3DLightNode 1, EnvironmentLight 2, X3DTextureProjectorNode 3]
79679
79676
  },
79680
79677
  getEnabled ()
79681
79678
  {
@@ -80220,14 +80217,16 @@ Object .assign (EnvironmentLightContainer .prototype,
80220
80217
  gl .uniform3f (shaderObject .x3d_EnvironmentLightColor, color .r, color .g, color .b);
80221
80218
  gl .uniform1f (shaderObject .x3d_EnvironmentLightIntensity, lightNode .getIntensity ());
80222
80219
  gl .uniformMatrix3fv (shaderObject .x3d_EnvironmentLightRotation, false, lightNode .getRotation ());
80220
+ gl .uniform1i (shaderObject .x3d_EnvironmentLightDiffuseTextureLinear, diffuseTexture ?.isLinear ());
80221
+ gl .uniform1i (shaderObject .x3d_EnvironmentLightSpecularTextureLinear, specularTexture ?.isLinear ());
80223
80222
  gl .uniform1i (shaderObject .x3d_EnvironmentLightSpecularTextureLevels, specularTexture ?.getLevels () ?? 1);
80224
80223
 
80225
80224
  gl .activeTexture (gl .TEXTURE0 + diffuseTextureUnit);
80226
- gl .bindTexture (gl .TEXTURE_CUBE_MAP, diffuseTexture ?.getTexture () ?? browser .getDefaultTextureCubeBlack ());
80225
+ gl .bindTexture (gl .TEXTURE_CUBE_MAP, diffuseTexture ?.getTexture () ?? browser .getDefaultTextureCube ());
80227
80226
  gl .uniform1i (shaderObject .x3d_EnvironmentLightDiffuseTexture, diffuseTextureUnit);
80228
80227
 
80229
80228
  gl .activeTexture (gl .TEXTURE0 + specularTextureUnit);
80230
- gl .bindTexture (gl .TEXTURE_CUBE_MAP, specularTexture ?.getTexture () ?? browser .getDefaultTextureCubeBlack ());
80229
+ gl .bindTexture (gl .TEXTURE_CUBE_MAP, specularTexture ?.getTexture () ?? browser .getDefaultTextureCube ());
80231
80230
  gl .uniform1i (shaderObject .x3d_EnvironmentLightSpecularTexture, specularTextureUnit);
80232
80231
 
80233
80232
  gl .activeTexture (gl .TEXTURE0 + GGXLUTTextureUnit);
@@ -89144,7 +89143,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
89144
89143
  x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
89145
89144
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
89146
89145
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
89147
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(979);
89146
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(718);
89148
89147
  /*******************************************************************************
89149
89148
  *
89150
89149
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -89343,7 +89342,9 @@ Object .assign (X3DProgrammableShaderObject .prototype,
89343
89342
  this .x3d_EnvironmentLightAmbientIntensity = gl .getUniformLocation (program, "x3d_EnvironmentLightSource.ambientIntensity");
89344
89343
  this .x3d_EnvironmentLightRotation = gl .getUniformLocation (program, "x3d_EnvironmentLightSource.rotation");
89345
89344
  this .x3d_EnvironmentLightDiffuseTexture = gl .getUniformLocation (program, "x3d_EnvironmentLightSource.diffuseTexture");
89345
+ this .x3d_EnvironmentLightDiffuseTextureLinear = gl .getUniformLocation (program, "x3d_EnvironmentLightSource.diffuseTextureLinear");
89346
89346
  this .x3d_EnvironmentLightSpecularTexture = gl .getUniformLocation (program, "x3d_EnvironmentLightSource.specularTexture");
89347
+ this .x3d_EnvironmentLightSpecularTextureLinear = gl .getUniformLocation (program, "x3d_EnvironmentLightSource.specularTextureLinear");
89347
89348
  this .x3d_EnvironmentLightSpecularTextureLevels = gl .getUniformLocation (program, "x3d_EnvironmentLightSource.specularTextureLevels");
89348
89349
  this .x3d_EnvironmentLightGGXLUTTexture = gl .getUniformLocation (program, "x3d_EnvironmentLightSource.GGXLUTTexture");
89349
89350
 
@@ -91540,7 +91541,7 @@ mediump vec3 shadowColor;mediump float shadowIntensity;mediump float shadowBias;
91540
91541
  };
91541
91542
  #endif
91542
91543
  #if defined(X3D_USE_IBL)
91543
- struct x3d_EnvironmentLightSourceParameters{mediump vec3 color;mediump float intensity;mediump float ambientIntensity;mediump mat3 rotation;mediump samplerCube diffuseTexture;mediump samplerCube specularTexture;mediump int specularTextureLevels;mediump sampler2D GGXLUTTexture;};
91544
+ struct x3d_EnvironmentLightSourceParameters{mediump vec3 color;mediump float intensity;mediump float ambientIntensity;mediump mat3 rotation;mediump samplerCube diffuseTexture;bool diffuseTextureLinear;mediump samplerCube specularTexture;bool specularTextureLinear;mediump int specularTextureLevels;mediump sampler2D GGXLUTTexture;};
91544
91545
  #endif
91545
91546
  #if defined(X3D_GEOMETRY_0D)&&defined(X3D_STYLE_PROPERTIES)
91546
91547
  struct x3d_PointPropertiesParameters{mediump float pointSizeScaleFactor;mediump float pointSizeMinValue;mediump float pointSizeMaxValue;mediump vec3 attenuation;};
@@ -94105,14 +94106,17 @@ return finalColor;}void main(){fragment_main();}`
94105
94106
  x_ite_Namespace .add ("Unlit2.fs", "assets/shaders/webgl2/Unlit2.fs", Unlit2_fs_default_);
94106
94107
  /* harmony default export */ const Unlit2_fs = (Unlit2_fs_default_);
94107
94108
  ;// CONCATENATED MODULE: ./src/assets/shaders/webgl1/pbr/BDRF1.glsl.js
94108
- const BDRF1_glsl_default_ = /* glsl */ `const float M_PI=3.14159265359;vec3 F_Schlick(vec3 f0,vec3 f90,float VdotH){return f0+(f90-f0)*pow(clamp(1.0-VdotH,0.0,1.0),5.0);}float V_GGX(float NdotL,float NdotV,float alphaRoughness){float alphaRoughnessSq=alphaRoughness*alphaRoughness;float GGXV=NdotL*sqrt(NdotV*NdotV*(1.0-alphaRoughnessSq)+alphaRoughnessSq);float GGXL=NdotV*sqrt(NdotL*NdotL*(1.0-alphaRoughnessSq)+alphaRoughnessSq);float GGX=GGXV+GGXL;if(GGX>0.0){return 0.5/GGX;}return 0.0;}float D_GGX(float NdotH,float alphaRoughness){float alphaRoughnessSq=alphaRoughness*alphaRoughness;float f=(NdotH*NdotH)*(alphaRoughnessSq-1.0)+1.0;return alphaRoughnessSq/(M_PI*f*f);}vec3 BRDF_lambertian(vec3 f0,vec3 f90,vec3 diffuseColor,float specularWeight,float VdotH){return(1.0-specularWeight*F_Schlick(f0,f90,VdotH))*(diffuseColor/M_PI);}vec3 BRDF_specularGGX(vec3 f0,vec3 f90,float alphaRoughness,float specularWeight,float VdotH,float NdotL,float NdotV,float NdotH){vec3 F=F_Schlick(f0,f90,VdotH);float Vis=V_GGX(NdotL,NdotV,alphaRoughness);float D=D_GGX(NdotH,alphaRoughness);return specularWeight*F*Vis*D;}`
94109
+ const BDRF1_glsl_default_ = /* glsl */ `#if defined(X3D_LIGHTING)
94110
+ const float M_PI=3.14159265359;vec3 F_Schlick(vec3 f0,vec3 f90,float VdotH){return f0+(f90-f0)*pow(clamp(1.0-VdotH,0.0,1.0),5.0);}float V_GGX(float NdotL,float NdotV,float alphaRoughness){float alphaRoughnessSq=alphaRoughness*alphaRoughness;float GGXV=NdotL*sqrt(NdotV*NdotV*(1.0-alphaRoughnessSq)+alphaRoughnessSq);float GGXL=NdotV*sqrt(NdotL*NdotL*(1.0-alphaRoughnessSq)+alphaRoughnessSq);float GGX=GGXV+GGXL;if(GGX>0.0){return 0.5/GGX;}return 0.0;}float D_GGX(float NdotH,float alphaRoughness){float alphaRoughnessSq=alphaRoughness*alphaRoughness;float f=(NdotH*NdotH)*(alphaRoughnessSq-1.0)+1.0;return alphaRoughnessSq/(M_PI*f*f);}vec3 BRDF_lambertian(vec3 f0,vec3 f90,vec3 diffuseColor,float specularWeight,float VdotH){return(1.0-specularWeight*F_Schlick(f0,f90,VdotH))*(diffuseColor/M_PI);}vec3 BRDF_specularGGX(vec3 f0,vec3 f90,float alphaRoughness,float specularWeight,float VdotH,float NdotL,float NdotV,float NdotH){vec3 F=F_Schlick(f0,f90,VdotH);float Vis=V_GGX(NdotL,NdotV,alphaRoughness);float D=D_GGX(NdotH,alphaRoughness);return specularWeight*F*Vis*D;}
94111
+ #endif
94112
+ `
94109
94113
  ;
94110
94114
 
94111
94115
  x_ite_Namespace .add ("BDRF1.glsl", "assets/shaders/webgl1/pbr/BDRF1.glsl", BDRF1_glsl_default_);
94112
94116
  /* harmony default export */ const BDRF1_glsl = (BDRF1_glsl_default_);
94113
94117
  ;// CONCATENATED MODULE: ./src/assets/shaders/webgl1/pbr/IBL1.glsl.js
94114
94118
  const IBL1_glsl_default_ = /* glsl */ `#if defined(X3D_USE_IBL)
94115
- uniform x3d_EnvironmentLightSourceParameters x3d_EnvironmentLightSource;vec3 getDiffuseLight(const in vec3 n){return textureCube(x3d_EnvironmentLightSource.diffuseTexture,x3d_EnvironmentLightSource.rotation*n).rgb*x3d_EnvironmentLightSource.color*x3d_EnvironmentLightSource.intensity;}vec3 getSpecularLight(const in vec3 reflection,const in float lod){return textureCubeLodEXT(x3d_EnvironmentLightSource.specularTexture,x3d_EnvironmentLightSource.rotation*reflection,lod).rgb*x3d_EnvironmentLightSource.color*x3d_EnvironmentLightSource.intensity;}vec3 getIBLRadianceGGX(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 F0,const in float specularWeight){float NdotV=clamp(dot(n,v),0.0,1.0);float lod=roughness*float(x3d_EnvironmentLightSource.specularTextureLevels-1);vec3 reflection=normalize(reflect(-v,n));vec2 brdfSamplePoint=clamp(vec2(NdotV,1.0-roughness),vec2(0.0),vec2(1.0));vec2 f_ab=texture2D(x3d_EnvironmentLightSource.GGXLUTTexture,brdfSamplePoint).rg;vec3 specularLight=getSpecularLight(reflection,lod);vec3 Fr=max(vec3(1.0-roughness),F0)-F0;vec3 k_S=F0+Fr*pow(1.0-NdotV,5.0);vec3 FssEss=k_S*f_ab.x+f_ab.y;return specularWeight*specularLight*FssEss;}vec3 getIBLRadianceLambertian(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 diffuseColor,const in vec3 F0,const in float specularWeight){float NdotV=clamp(dot(n,v),0.0,1.0);vec2 brdfSamplePoint=clamp(vec2(NdotV,1.0-roughness),vec2(0.0),vec2(1.0));vec2 f_ab=texture2D(x3d_EnvironmentLightSource.GGXLUTTexture,brdfSamplePoint).rg;vec3 irradiance=getDiffuseLight(n);vec3 Fr=max(vec3(1.0-roughness),F0)-F0;vec3 k_S=F0+Fr*pow(1.0-NdotV,5.0);vec3 FssEss=specularWeight*k_S*f_ab.x+f_ab.y;float Ems=(1.0-(f_ab.x+f_ab.y));vec3 F_avg=specularWeight*(F0+(1.0-F0)/21.0);vec3 FmsEms=Ems*FssEss*F_avg/(1.0-F_avg*Ems);vec3 k_D=diffuseColor*(1.0-FssEss+FmsEms);return(FmsEms+k_D)*irradiance;}
94119
+ uniform x3d_EnvironmentLightSourceParameters x3d_EnvironmentLightSource;vec3 getDiffuseLight(const in vec3 n){vec3 textureColor=textureCube(x3d_EnvironmentLightSource.diffuseTexture,x3d_EnvironmentLightSource.rotation*n).rgb;if(!x3d_EnvironmentLightSource.diffuseTextureLinear)textureColor=sRGBToLinear(textureColor);return textureColor*x3d_EnvironmentLightSource.color*x3d_EnvironmentLightSource.intensity;}vec3 getSpecularLight(const in vec3 reflection,const in float lod){vec3 textureColor=textureCubeLodEXT(x3d_EnvironmentLightSource.specularTexture,x3d_EnvironmentLightSource.rotation*reflection,lod).rgb;if(!x3d_EnvironmentLightSource.specularTextureLinear)textureColor=sRGBToLinear(textureColor);return textureColor*x3d_EnvironmentLightSource.color*x3d_EnvironmentLightSource.intensity;}vec3 getIBLRadianceGGX(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 F0,const in float specularWeight){float NdotV=clamp(dot(n,v),0.0,1.0);float lod=roughness*float(x3d_EnvironmentLightSource.specularTextureLevels-1);vec3 reflection=normalize(reflect(-v,n));vec2 brdfSamplePoint=clamp(vec2(NdotV,roughness),vec2(0.0),vec2(1.0));vec2 f_ab=texture2D(x3d_EnvironmentLightSource.GGXLUTTexture,brdfSamplePoint).rg;vec3 specularLight=getSpecularLight(reflection,lod);vec3 Fr=max(vec3(1.0-roughness),F0)-F0;vec3 k_S=F0+Fr*pow(1.0-NdotV,5.0);vec3 FssEss=k_S*f_ab.x+f_ab.y;return specularWeight*specularLight*FssEss;}vec3 getIBLRadianceLambertian(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 diffuseColor,const in vec3 F0,const in float specularWeight){float NdotV=clamp(dot(n,v),0.0,1.0);vec2 brdfSamplePoint=clamp(vec2(NdotV,roughness),vec2(0.0),vec2(1.0));vec2 f_ab=texture2D(x3d_EnvironmentLightSource.GGXLUTTexture,brdfSamplePoint).rg;vec3 irradiance=getDiffuseLight(n);vec3 Fr=max(vec3(1.0-roughness),F0)-F0;vec3 k_S=F0+Fr*pow(1.0-NdotV,5.0);vec3 FssEss=specularWeight*k_S*f_ab.x+f_ab.y;float Ems=(1.0-(f_ab.x+f_ab.y));vec3 F_avg=specularWeight*(F0+(1.0-F0)/21.0);vec3 FmsEms=Ems*FssEss*F_avg/(1.0-F_avg*Ems);vec3 k_D=diffuseColor*(1.0-FssEss+FmsEms);return(FmsEms+k_D)*irradiance;}
94116
94120
  #endif
94117
94121
  `
94118
94122
  ;
@@ -94193,7 +94197,7 @@ return baseColor;}
94193
94197
  #if defined(X3D_METALLIC_ROUGHNESS_TEXTURE)
94194
94198
  uniform x3d_MetallicRoughnessTextureParameters x3d_MetallicRoughnessTexture;
94195
94199
  #endif
94196
- MaterialInfo getMetallicRoughnessInfo(MaterialInfo info){info.metallic=x3d_Material.metallic;info.perceptualRoughness=x3d_Material.roughness;
94200
+ MaterialInfo getMetallicRoughnessInfo(in MaterialInfo info){info.metallic=x3d_Material.metallic;info.perceptualRoughness=x3d_Material.roughness;
94197
94201
  #if defined(X3D_METALLIC_ROUGHNESS_TEXTURE)
94198
94202
  vec3 texCoord=getTexCoord(x3d_MetallicRoughnessTexture.textureTransformMapping,x3d_MetallicRoughnessTexture.textureCoordinateMapping);
94199
94203
  #if defined(X3D_METALLIC_ROUGHNESS_TEXTURE_FLIP_Y)
@@ -94228,7 +94232,7 @@ emissiveColor*=textureColor;
94228
94232
  emissiveColor*=sRGBToLinear(textureColor);
94229
94233
  #endif
94230
94234
  #endif
94231
- return emissiveColor.rgb;}
94235
+ return emissiveColor;}
94232
94236
  #if defined(X3D_OCCLUSION_TEXTURE)
94233
94237
  uniform x3d_OcclusionTextureParameters x3d_OcclusionTexture;
94234
94238
  #endif
@@ -94252,7 +94256,7 @@ return 1.0;
94252
94256
  x_ite_Namespace .add ("MaterialInfo1.glsl", "assets/shaders/webgl1/pbr/MaterialInfo1.glsl", MaterialInfo1_glsl_default_);
94253
94257
  /* harmony default export */ const MaterialInfo1_glsl = (MaterialInfo1_glsl_default_);
94254
94258
  ;// CONCATENATED MODULE: ./src/assets/shaders/webgl1/pbr/ToneMapping1.glsl.js
94255
- const ToneMapping1_glsl_default_ = /* glsl */ `const float exposure=1.0;const float GAMMA=2.2;const float INV_GAMMA=1.0/GAMMA;vec3 linearTosRGB(const in vec3 color){return pow(color,vec3(INV_GAMMA));}vec4 linearTosRGB(const in vec4 color){return vec4(linearTosRGB(color.rgb),color.a);}vec3 sRGBToLinear(const in vec3 color){return vec3(pow(color,vec3(GAMMA)));}vec4 sRGBToLinear(const in vec4 color){return vec4(sRGBToLinear(color.rgb),color.a);}
94259
+ const ToneMapping1_glsl_default_ = /* glsl */ `const float exposure=1.0;const float GAMMA=2.2;const float INV_GAMMA=1.0/GAMMA;vec3 linearTosRGB(const in vec3 color){return pow(color,vec3(INV_GAMMA));}vec4 linearTosRGB(const in vec4 color){return vec4(linearTosRGB(color.rgb),color.a);}vec3 sRGBToLinear(const in vec3 color){return pow(color,vec3(GAMMA));}vec4 sRGBToLinear(const in vec4 color){return vec4(sRGBToLinear(color.rgb),color.a);}
94256
94260
  #if defined(X3D_TONEMAP_ACES_NARKOWICZ)
94257
94261
  vec3 toneMapACES_Narkowicz(const in vec3 color){const float A=2.51;const float B=0.03;const float C=2.43;const float D=0.59;const float E=0.14;return clamp((color*(A*color+B))/(color*(C*color+D)+E),0.0,1.0);}
94258
94262
  #endif
@@ -94275,14 +94279,17 @@ return linearTosRGB(color);}`
94275
94279
  x_ite_Namespace .add ("ToneMapping1.glsl", "assets/shaders/webgl1/pbr/ToneMapping1.glsl", ToneMapping1_glsl_default_);
94276
94280
  /* harmony default export */ const ToneMapping1_glsl = (ToneMapping1_glsl_default_);
94277
94281
  ;// CONCATENATED MODULE: ./src/assets/shaders/webgl2/pbr/BDRF2.glsl.js
94278
- const BDRF2_glsl_default_ = /* glsl */ `const float M_PI=3.1415926535897932384626433832795;vec3 F_Schlick(vec3 f0,vec3 f90,float VdotH){return f0+(f90-f0)*pow(clamp(1.0-VdotH,0.0,1.0),5.0);}float V_GGX(float NdotL,float NdotV,float alphaRoughness){float alphaRoughnessSq=alphaRoughness*alphaRoughness;float GGXV=NdotL*sqrt(NdotV*NdotV*(1.0-alphaRoughnessSq)+alphaRoughnessSq);float GGXL=NdotV*sqrt(NdotL*NdotL*(1.0-alphaRoughnessSq)+alphaRoughnessSq);float GGX=GGXV+GGXL;if(GGX>0.0){return 0.5/GGX;}return 0.0;}float D_GGX(float NdotH,float alphaRoughness){float alphaRoughnessSq=alphaRoughness*alphaRoughness;float f=(NdotH*NdotH)*(alphaRoughnessSq-1.0)+1.0;return alphaRoughnessSq/(M_PI*f*f);}vec3 BRDF_lambertian(vec3 f0,vec3 f90,vec3 diffuseColor,float specularWeight,float VdotH){return(1.0-specularWeight*F_Schlick(f0,f90,VdotH))*(diffuseColor/M_PI);}vec3 BRDF_specularGGX(vec3 f0,vec3 f90,float alphaRoughness,float specularWeight,float VdotH,float NdotL,float NdotV,float NdotH){vec3 F=F_Schlick(f0,f90,VdotH);float Vis=V_GGX(NdotL,NdotV,alphaRoughness);float D=D_GGX(NdotH,alphaRoughness);return specularWeight*F*Vis*D;}`
94282
+ const BDRF2_glsl_default_ = /* glsl */ `#if defined(X3D_LIGHTING)
94283
+ const float M_PI=3.1415926535897932384626433832795;vec3 F_Schlick(vec3 f0,vec3 f90,float VdotH){return f0+(f90-f0)*pow(clamp(1.0-VdotH,0.0,1.0),5.0);}float V_GGX(float NdotL,float NdotV,float alphaRoughness){float alphaRoughnessSq=alphaRoughness*alphaRoughness;float GGXV=NdotL*sqrt(NdotV*NdotV*(1.0-alphaRoughnessSq)+alphaRoughnessSq);float GGXL=NdotV*sqrt(NdotL*NdotL*(1.0-alphaRoughnessSq)+alphaRoughnessSq);float GGX=GGXV+GGXL;if(GGX>0.0){return 0.5/GGX;}return 0.0;}float D_GGX(float NdotH,float alphaRoughness){float alphaRoughnessSq=alphaRoughness*alphaRoughness;float f=(NdotH*NdotH)*(alphaRoughnessSq-1.0)+1.0;return alphaRoughnessSq/(M_PI*f*f);}vec3 BRDF_lambertian(vec3 f0,vec3 f90,vec3 diffuseColor,float specularWeight,float VdotH){return(1.0-specularWeight*F_Schlick(f0,f90,VdotH))*(diffuseColor/M_PI);}vec3 BRDF_specularGGX(vec3 f0,vec3 f90,float alphaRoughness,float specularWeight,float VdotH,float NdotL,float NdotV,float NdotH){vec3 F=F_Schlick(f0,f90,VdotH);float Vis=V_GGX(NdotL,NdotV,alphaRoughness);float D=D_GGX(NdotH,alphaRoughness);return specularWeight*F*Vis*D;}
94284
+ #endif
94285
+ `
94279
94286
  ;
94280
94287
 
94281
94288
  x_ite_Namespace .add ("BDRF2.glsl", "assets/shaders/webgl2/pbr/BDRF2.glsl", BDRF2_glsl_default_);
94282
94289
  /* harmony default export */ const BDRF2_glsl = (BDRF2_glsl_default_);
94283
94290
  ;// CONCATENATED MODULE: ./src/assets/shaders/webgl2/pbr/IBL2.glsl.js
94284
94291
  const IBL2_glsl_default_ = /* glsl */ `#if defined(X3D_USE_IBL)
94285
- uniform x3d_EnvironmentLightSourceParameters x3d_EnvironmentLightSource;vec3 getDiffuseLight(const in vec3 n){return texture(x3d_EnvironmentLightSource.diffuseTexture,x3d_EnvironmentLightSource.rotation*n).rgb*x3d_EnvironmentLightSource.color*x3d_EnvironmentLightSource.intensity;}vec3 getSpecularLight(const in vec3 reflection,const in float lod){return textureLod(x3d_EnvironmentLightSource.specularTexture,x3d_EnvironmentLightSource.rotation*reflection,lod).rgb*x3d_EnvironmentLightSource.color*x3d_EnvironmentLightSource.intensity;}vec3 getIBLRadianceGGX(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 F0,const in float specularWeight){float NdotV=clamp(dot(n,v),0.0,1.0);float lod=roughness*float(x3d_EnvironmentLightSource.specularTextureLevels-1);vec3 reflection=normalize(reflect(-v,n));vec2 brdfSamplePoint=clamp(vec2(NdotV,1.0-roughness),vec2(0.0),vec2(1.0));vec2 f_ab=texture(x3d_EnvironmentLightSource.GGXLUTTexture,brdfSamplePoint).rg;vec3 specularLight=getSpecularLight(reflection,lod);vec3 Fr=max(vec3(1.0-roughness),F0)-F0;vec3 k_S=F0+Fr*pow(1.0-NdotV,5.0);vec3 FssEss=k_S*f_ab.x+f_ab.y;return specularWeight*specularLight*FssEss;}vec3 getIBLRadianceLambertian(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 diffuseColor,const in vec3 F0,const in float specularWeight){float NdotV=clamp(dot(n,v),0.0,1.0);vec2 brdfSamplePoint=clamp(vec2(NdotV,1.0-roughness),vec2(0.0),vec2(1.0));vec2 f_ab=texture(x3d_EnvironmentLightSource.GGXLUTTexture,brdfSamplePoint).rg;vec3 irradiance=getDiffuseLight(n);vec3 Fr=max(vec3(1.0-roughness),F0)-F0;vec3 k_S=F0+Fr*pow(1.0-NdotV,5.0);vec3 FssEss=specularWeight*k_S*f_ab.x+f_ab.y;float Ems=(1.0-(f_ab.x+f_ab.y));vec3 F_avg=specularWeight*(F0+(1.0-F0)/21.0);vec3 FmsEms=Ems*FssEss*F_avg/(1.0-F_avg*Ems);vec3 k_D=diffuseColor*(1.0-FssEss+FmsEms);return(FmsEms+k_D)*irradiance;}
94292
+ uniform x3d_EnvironmentLightSourceParameters x3d_EnvironmentLightSource;vec3 getDiffuseLight(const in vec3 n){vec3 textureColor=texture(x3d_EnvironmentLightSource.diffuseTexture,x3d_EnvironmentLightSource.rotation*n).rgb;if(!x3d_EnvironmentLightSource.diffuseTextureLinear)textureColor=sRGBToLinear(textureColor);return textureColor*x3d_EnvironmentLightSource.color*x3d_EnvironmentLightSource.intensity;}vec3 getSpecularLight(const in vec3 reflection,const in float lod){vec3 textureColor=textureLod(x3d_EnvironmentLightSource.specularTexture,x3d_EnvironmentLightSource.rotation*reflection,lod).rgb;if(!x3d_EnvironmentLightSource.specularTextureLinear)textureColor=sRGBToLinear(textureColor);return textureColor*x3d_EnvironmentLightSource.color*x3d_EnvironmentLightSource.intensity;}vec3 getIBLRadianceGGX(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 F0,const in float specularWeight){float NdotV=clamp(dot(n,v),0.0,1.0);float lod=roughness*float(x3d_EnvironmentLightSource.specularTextureLevels-1);vec3 reflection=normalize(reflect(-v,n));vec2 brdfSamplePoint=clamp(vec2(NdotV,roughness),vec2(0.0),vec2(1.0));vec2 f_ab=texture(x3d_EnvironmentLightSource.GGXLUTTexture,brdfSamplePoint).rg;vec3 specularLight=getSpecularLight(reflection,lod);vec3 Fr=max(vec3(1.0-roughness),F0)-F0;vec3 k_S=F0+Fr*pow(1.0-NdotV,5.0);vec3 FssEss=k_S*f_ab.x+f_ab.y;return specularWeight*specularLight*FssEss;}vec3 getIBLRadianceLambertian(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 diffuseColor,const in vec3 F0,const in float specularWeight){float NdotV=clamp(dot(n,v),0.0,1.0);vec2 brdfSamplePoint=clamp(vec2(NdotV,roughness),vec2(0.0),vec2(1.0));vec2 f_ab=texture(x3d_EnvironmentLightSource.GGXLUTTexture,brdfSamplePoint).rg;vec3 irradiance=getDiffuseLight(n);vec3 Fr=max(vec3(1.0-roughness),F0)-F0;vec3 k_S=F0+Fr*pow(1.0-NdotV,5.0);vec3 FssEss=specularWeight*k_S*f_ab.x+f_ab.y;float Ems=(1.0-(f_ab.x+f_ab.y));vec3 F_avg=specularWeight*(F0+(1.0-F0)/21.0);vec3 FmsEms=Ems*FssEss*F_avg/(1.0-F_avg*Ems);vec3 k_D=diffuseColor*(1.0-FssEss+FmsEms);return(FmsEms+k_D)*irradiance;}
94286
94293
  #endif
94287
94294
  `
94288
94295
  ;
@@ -94367,7 +94374,7 @@ return baseColor;}
94367
94374
  #if defined(X3D_METALLIC_ROUGHNESS_TEXTURE)
94368
94375
  uniform x3d_MetallicRoughnessTextureParameters x3d_MetallicRoughnessTexture;
94369
94376
  #endif
94370
- MaterialInfo getMetallicRoughnessInfo(MaterialInfo info){info.metallic=x3d_Material.metallic;info.perceptualRoughness=x3d_Material.roughness;
94377
+ MaterialInfo getMetallicRoughnessInfo(in MaterialInfo info){info.metallic=x3d_Material.metallic;info.perceptualRoughness=x3d_Material.roughness;
94371
94378
  #if defined(X3D_METALLIC_ROUGHNESS_TEXTURE)
94372
94379
  vec3 texCoord=getTexCoord(x3d_MetallicRoughnessTexture.textureTransformMapping,x3d_MetallicRoughnessTexture.textureCoordinateMapping);
94373
94380
  #if defined(X3D_METALLIC_ROUGHNESS_TEXTURE_FLIP_Y)
@@ -94406,7 +94413,7 @@ emissiveColor*=textureColor;
94406
94413
  emissiveColor*=sRGBToLinear(textureColor);
94407
94414
  #endif
94408
94415
  #endif
94409
- return emissiveColor.rgb;}
94416
+ return emissiveColor;}
94410
94417
  #if defined(X3D_OCCLUSION_TEXTURE)
94411
94418
  uniform x3d_OcclusionTextureParameters x3d_OcclusionTexture;
94412
94419
  #endif
@@ -94432,7 +94439,7 @@ return 1.0;
94432
94439
  x_ite_Namespace .add ("MaterialInfo2.glsl", "assets/shaders/webgl2/pbr/MaterialInfo2.glsl", MaterialInfo2_glsl_default_);
94433
94440
  /* harmony default export */ const MaterialInfo2_glsl = (MaterialInfo2_glsl_default_);
94434
94441
  ;// CONCATENATED MODULE: ./src/assets/shaders/webgl2/pbr/ToneMapping2.glsl.js
94435
- const ToneMapping2_glsl_default_ = /* glsl */ `const float exposure=1.0;const float GAMMA=2.2;const float INV_GAMMA=1.0/GAMMA;vec3 linearTosRGB(const in vec3 color){return pow(color,vec3(INV_GAMMA));}vec4 linearTosRGB(const in vec4 color){return vec4(linearTosRGB(color.rgb),color.a);}vec3 sRGBToLinear(const in vec3 color){return vec3(pow(color,vec3(GAMMA)));}vec4 sRGBToLinear(const in vec4 color){return vec4(sRGBToLinear(color.rgb),color.a);}
94442
+ const ToneMapping2_glsl_default_ = /* glsl */ `const float exposure=1.0;const float GAMMA=2.2;const float INV_GAMMA=1.0/GAMMA;vec3 linearTosRGB(const in vec3 color){return pow(color,vec3(INV_GAMMA));}vec4 linearTosRGB(const in vec4 color){return vec4(linearTosRGB(color.rgb),color.a);}vec3 sRGBToLinear(const in vec3 color){return pow(color,vec3(GAMMA));}vec4 sRGBToLinear(const in vec4 color){return vec4(sRGBToLinear(color.rgb),color.a);}
94436
94443
  #if defined(X3D_TONEMAP_ACES_NARKOWICZ)
94437
94444
  vec3 toneMapACES_Narkowicz(const in vec3 color){const float A=2.51;const float B=0.03;const float C=2.43;const float D=0.59;const float E=0.14;return clamp((color*(A*color+B))/(color*(C*color+D)+E),0.0,1.0);}
94438
94445
  #endif
@@ -94777,7 +94784,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
94777
94784
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
94778
94785
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
94779
94786
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
94780
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(979);
94787
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(718);
94781
94788
  /*******************************************************************************
94782
94789
  *
94783
94790
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95434,7 +95441,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
95434
95441
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
95435
95442
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
95436
95443
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
95437
- /* provided dependency */ var Appearance_$ = __webpack_require__(979);
95444
+ /* provided dependency */ var Appearance_$ = __webpack_require__(718);
95438
95445
  /*******************************************************************************
95439
95446
  *
95440
95447
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -98841,7 +98848,7 @@ const Components_Shape_default_ = {
98841
98848
  x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
98842
98849
  /* harmony default export */ const Components_Shape = (Components_Shape_default_);
98843
98850
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
98844
- /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(979);
98851
+ /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(718);
98845
98852
  /*******************************************************************************
98846
98853
  *
98847
98854
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99481,7 +99488,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
99481
99488
  x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
99482
99489
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
99483
99490
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
99484
- /* provided dependency */ var AudioClip_$ = __webpack_require__(979);
99491
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(718);
99485
99492
  /*******************************************************************************
99486
99493
  *
99487
99494
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99783,7 +99790,7 @@ const X3DSoundNode_default_ = X3DSoundNode;
99783
99790
  x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
99784
99791
  /* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
99785
99792
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
99786
- /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(979);
99793
+ /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(718);
99787
99794
  /*******************************************************************************
99788
99795
  *
99789
99796
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -101433,7 +101440,7 @@ const ListenerPointSource_default_ = ListenerPointSource;
101433
101440
  x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
101434
101441
  /* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
101435
101442
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
101436
- /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(979);
101443
+ /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(718);
101437
101444
  /*******************************************************************************
101438
101445
  *
101439
101446
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -103102,8 +103109,8 @@ const GifMedia_default_ = GifMedia;
103102
103109
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
103103
103110
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
103104
103111
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
103105
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(979);
103106
- /* provided dependency */ var SuperGif = __webpack_require__(67);
103112
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(718);
103113
+ /* provided dependency */ var SuperGif = __webpack_require__(630);
103107
103114
  /*******************************************************************************
103108
103115
  *
103109
103116
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -104281,7 +104288,7 @@ const MultiTextureTransform_default_ = MultiTextureTransform;
104281
104288
  x_ite_Namespace .add ("MultiTextureTransform", "x_ite/Components/Texturing/MultiTextureTransform", MultiTextureTransform_default_);
104282
104289
  /* harmony default export */ const Texturing_MultiTextureTransform = (MultiTextureTransform_default_);
104283
104290
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/PixelTexture.js
104284
- /* provided dependency */ var PixelTexture_$ = __webpack_require__(979);
104291
+ /* provided dependency */ var PixelTexture_$ = __webpack_require__(718);
104285
104292
  /*******************************************************************************
104286
104293
  *
104287
104294
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -105707,63 +105714,6 @@ x_ite_Namespace .add ("Time", "x_ite/Components/Time", Time_default_);
105707
105714
 
105708
105715
 
105709
105716
 
105710
- const extensions = [
105711
- "ANGLE_instanced_arrays",
105712
- "EXT_blend_minmax",
105713
- "EXT_frag_depth",
105714
- "EXT_shader_texture_lod",
105715
- "EXT_texture_filter_anisotropic",
105716
- "OES_element_index_uint",
105717
- "OES_standard_derivatives",
105718
- "OES_texture_float",
105719
- "OES_texture_float_linear",
105720
- "OES_texture_half_float",
105721
- "OES_texture_half_float_linear",
105722
- "OES_vertex_array_object",
105723
- "WEBGL_compressed_texture_s3tc",
105724
- //"WEBGL_debug_renderer_info",
105725
- "WEBGL_debug_shaders",
105726
- "WEBGL_depth_texture",
105727
- "WEBGL_draw_buffers",
105728
- "WEBGL_lose_context",
105729
-
105730
- "EXT_color_buffer_float",
105731
- "EXT_color_buffer_half_float",
105732
- "EXT_disjoint_timer_query",
105733
- "EXT_disjoint_timer_query_webgl2",
105734
- "EXT_sRGB",
105735
- "WEBGL_color_buffer_float",
105736
- "WEBGL_compressed_texture_astc",
105737
- "WEBGL_compressed_texture_atc",
105738
- "WEBGL_compressed_texture_etc",
105739
- "WEBGL_compressed_texture_etc1",
105740
- "WEBGL_compressed_texture_pvrtc",
105741
- "WEBGL_compressed_texture_s3tc",
105742
- "WEBGL_compressed_texture_s3tc_srgb",
105743
-
105744
- "EXT_float_blend",
105745
- "OES_fbo_render_mipmap",
105746
- "WEBGL_get_buffer_sub_data_async",
105747
- "WEBGL_multiview",
105748
- "WEBGL_security_sensitive_resources",
105749
- "WEBGL_shared_resources",
105750
-
105751
- "EXT_clip_cull_distance",
105752
- "WEBGL_debug",
105753
- "WEBGL_dynamic_texture",
105754
- "WEBGL_subarray_uploads",
105755
- "WEBGL_texture_multisample",
105756
- "WEBGL_texture_source_iframe",
105757
- "WEBGL_video_texture",
105758
-
105759
- "EXT_texture_storage",
105760
- "OES_depth24",
105761
- "WEBGL_debug_shader_precision",
105762
- "WEBGL_draw_elements_no_range_check",
105763
- "WEBGL_subscribe_uniform",
105764
- "WEBGL_texture_from_depth_video",
105765
- ];
105766
-
105767
105717
  const Context =
105768
105718
  {
105769
105719
  create (canvas, version, preserveDrawingBuffer, mobile)
@@ -105805,7 +105755,7 @@ const Context =
105805
105755
 
105806
105756
  // Load extensions.
105807
105757
 
105808
- for (const extension of extensions)
105758
+ for (const extension of gl .getSupportedExtensions ())
105809
105759
  gl .getExtension (extension);
105810
105760
 
105811
105761
  // Feature detection:
@@ -105835,9 +105785,11 @@ const Context =
105835
105785
  {
105836
105786
  const
105837
105787
  color_buffer_float = gl .getExtension ("WEBGL_color_buffer_float"),
105838
- draw_buffers = gl .getExtension ("WEBGL_draw_buffers");
105788
+ draw_buffers = gl .getExtension ("WEBGL_draw_buffers"),
105789
+ sRGB = gl .getExtension ("EXT_sRGB");
105839
105790
 
105840
105791
  gl .RGBA32F = color_buffer_float .RGBA32F_EXT;
105792
+ gl .SRGB8_ALPHA8 = sRGB .SRGB_ALPHA_EXT;
105841
105793
  gl .MAX_COLOR_ATTACHMENTS = draw_buffers .MAX_COLOR_ATTACHMENTS_WEBGL;
105842
105794
  gl .drawBuffers = draw_buffers .drawBuffersWEBGL .bind (draw_buffers);
105843
105795
 
@@ -106437,7 +106389,7 @@ const gettext_default_ = gettext;
106437
106389
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
106438
106390
  /* harmony default export */ const locale_gettext = (gettext_default_);
106439
106391
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
106440
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(979);
106392
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(718);
106441
106393
  /*******************************************************************************
106442
106394
  *
106443
106395
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -106867,7 +106819,7 @@ const TextureQuality_default_ = TextureQuality;
106867
106819
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
106868
106820
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
106869
106821
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
106870
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(979);
106822
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(718);
106871
106823
  /*******************************************************************************
106872
106824
  *
106873
106825
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107457,7 +107409,7 @@ const RenderingProperties_default_ = RenderingProperties;
107457
107409
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
107458
107410
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
107459
107411
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
107460
- /* provided dependency */ var Notification_$ = __webpack_require__(979);
107412
+ /* provided dependency */ var Notification_$ = __webpack_require__(718);
107461
107413
  /*******************************************************************************
107462
107414
  *
107463
107415
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107580,8 +107532,8 @@ const Notification_default_ = Notification;
107580
107532
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
107581
107533
  /* harmony default export */ const Core_Notification = (Notification_default_);
107582
107534
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
107583
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(970);
107584
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(979);
107535
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(699);
107536
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(718);
107585
107537
  /*******************************************************************************
107586
107538
  *
107587
107539
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -110333,7 +110285,7 @@ const DataStorage_default_ = DataStorage;
110333
110285
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
110334
110286
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
110335
110287
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
110336
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(979);
110288
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(718);
110337
110289
  /*******************************************************************************
110338
110290
  *
110339
110291
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -112141,7 +112093,9 @@ Object .assign (X3DLightingContext .prototype,
112141
112093
  getGGXLUTTexture ()
112142
112094
  {
112143
112095
  this [_GGXLUTTexture] = new Texturing_ImageTexture (this .getPrivateScene ());
112144
- this [_GGXLUTTexture] ._url = [Networking_URLs .getLibraryURL ("lut_ggx.png")];
112096
+ this [_GGXLUTTexture] ._url = [Networking_URLs .getLibraryURL ("lut_ggx.png")];
112097
+ this [_GGXLUTTexture] ._repeatS = false;
112098
+ this [_GGXLUTTexture] ._repeatT = false;
112145
112099
  this [_GGXLUTTexture] .setup ();
112146
112100
 
112147
112101
  this .getGGXLUTTexture = function () { return this [_GGXLUTTexture]; };
@@ -112396,8 +112350,8 @@ const X3DViewer_default_ = X3DViewer;
112396
112350
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
112397
112351
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
112398
112352
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
112399
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(506);
112400
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(979);
112353
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(801);
112354
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(718);
112401
112355
  /*******************************************************************************
112402
112356
  *
112403
112357
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113269,8 +113223,8 @@ const ExamineViewer_default_ = ExamineViewer;
113269
113223
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
113270
113224
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
113271
113225
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
113272
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(506);
113273
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(979);
113226
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(801);
113227
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(718);
113274
113228
  /*******************************************************************************
113275
113229
  *
113276
113230
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114279,8 +114233,8 @@ const FlyViewer_default_ = FlyViewer;
114279
114233
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
114280
114234
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
114281
114235
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
114282
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(506);
114283
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(979);
114236
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(801);
114237
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(718);
114284
114238
  /*******************************************************************************
114285
114239
  *
114286
114240
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114611,8 +114565,8 @@ const NoneViewer_default_ = NoneViewer;
114611
114565
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
114612
114566
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
114613
114567
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
114614
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(506);
114615
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(979);
114568
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(801);
114569
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(718);
114616
114570
  /*******************************************************************************
114617
114571
  *
114618
114572
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115751,8 +115705,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
115751
115705
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
115752
115706
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
115753
115707
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
115754
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(506);
115755
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(979);
115708
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(801);
115709
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(718);
115756
115710
  /*******************************************************************************
115757
115711
  *
115758
115712
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116671,7 +116625,7 @@ function MultiSampleFrameBuffer (browser, width, height, samples, oit)
116671
116625
  const gl = browser .getContext ();
116672
116626
 
116673
116627
  if (gl .getVersion () === 1 || width === 0 || height === 0)
116674
- return Fallback;
116628
+ return new Fallback (browser, width, height, samples);
116675
116629
 
116676
116630
  this .browser = browser;
116677
116631
  this .context = gl;
@@ -116973,17 +116927,41 @@ Object .assign (MultiSampleFrameBuffer .prototype,
116973
116927
  },
116974
116928
  });
116975
116929
 
116976
- const Fallback = {
116977
- getWidth: Function .prototype,
116978
- getHeight: Function .prototype,
116979
- getSamples: Function .prototype,
116980
- getOIT: Function .prototype,
116981
- bind: Function .prototype,
116982
- clear: Function .prototype,
116930
+ function Fallback (browser, width, height, samples)
116931
+ {
116932
+ const gl = browser .getContext ();
116933
+
116934
+ this .browser = browser;
116935
+ this .context = gl;
116936
+ this .width = width;
116937
+ this .height = height;
116938
+ this .samples = samples;
116939
+ }
116940
+
116941
+ Object .assign (Fallback .prototype,
116942
+ {
116943
+ getWidth () { return this .width; },
116944
+ getHeight () { return this .height; },
116945
+ getSamples () { return this .samples; },
116946
+ getOIT () { return false; },
116947
+ bind ()
116948
+ {
116949
+ const { context: gl } = this;
116950
+
116951
+ gl .bindFramebuffer (gl .FRAMEBUFFER, null);
116952
+ },
116953
+ clear ()
116954
+ {
116955
+ const { context: gl } = this;
116956
+
116957
+ gl .clearColor (0, 0, 0, 1);
116958
+ gl .clear (gl .COLOR_BUFFER_BIT);
116959
+ gl .blendFuncSeparate (gl .ONE, gl .ONE, gl .ZERO, gl .ONE_MINUS_SRC_ALPHA);
116960
+ },
116983
116961
  blit: Function .prototype,
116984
116962
  compose: Function .prototype,
116985
116963
  dispose: Function .prototype,
116986
- };
116964
+ });
116987
116965
 
116988
116966
  const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
116989
116967
  ;
@@ -116991,7 +116969,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
116991
116969
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
116992
116970
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
116993
116971
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
116994
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(979);
116972
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(718);
116995
116973
  /*******************************************************************************
116996
116974
  *
116997
116975
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117894,7 +117872,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
117894
117872
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
117895
117873
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
117896
117874
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
117897
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(979);
117875
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(718);
117898
117876
  const KTXDecoder_default_ = class KTXDecoder
117899
117877
  {
117900
117878
  constructor (gl, externalKtxlib, scriptDir)
@@ -117966,6 +117944,7 @@ const KTXDecoder_default_ = class KTXDecoder
117966
117944
  if (!texture)
117967
117945
  throw new Error ("Could not load KTX data");
117968
117946
 
117947
+ // https://stackoverflow.com/a/25640078/1818915
117969
117948
  texture .levels = 1 + Math .floor (Math .log2 (Math .max (ktxTexture .baseWidth, ktxTexture .baseHeight)));
117970
117949
  texture .baseWidth = ktxTexture .baseWidth;
117971
117950
  texture .baseHeight = ktxTexture .baseHeight;
@@ -118048,12 +118027,9 @@ const
118048
118027
  _texture2DUnitIndex = Symbol (),
118049
118028
  _texture3DUnitIndex = Symbol (),
118050
118029
  _textureCubeUnitIndex = Symbol (),
118051
- _defaultTexture2DBlack = Symbol (),
118052
- _defaultTexture2DWhite = Symbol (),
118053
- _defaultTexture3DBlack = Symbol (),
118054
- _defaultTexture3DWhite = Symbol (),
118055
- _defaultTextureCubeBlack = Symbol (),
118056
- _defaultTextureCubeWhite = Symbol (),
118030
+ _defaultTexture2D = Symbol (),
118031
+ _defaultTexture3D = Symbol (),
118032
+ _defaultTextureCube = Symbol (),
118057
118033
  _defaultTextureProperties = Symbol (),
118058
118034
  _defaultTextureTransform = Symbol (),
118059
118035
  _defaultTextureCoordinate = Symbol (),
@@ -118090,46 +118066,37 @@ Object .assign (X3DTexturingContext .prototype,
118090
118066
 
118091
118067
  // Default Texture 2D Unit
118092
118068
 
118093
- const defaultData = [new Uint8Array (4), new Uint8Array ([ 255, 255, 255, 255 ])];
118069
+ const defaultData = new Uint8Array ([ 255, 255, 255, 255 ]);
118094
118070
 
118095
- for (const [i, _defaultTexture2D] of [_defaultTexture2DBlack, _defaultTexture2DWhite] .entries ())
118096
- {
118097
- this [_defaultTexture2D] = gl .createTexture ();
118071
+ this [_defaultTexture2D] = gl .createTexture ();
118098
118072
 
118099
- gl .activeTexture (gl .TEXTURE0 + this [_texture2DUnits] [0]);
118100
- gl .bindTexture (gl .TEXTURE_2D, this [_defaultTexture2D]);
118101
- gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData [i]);
118102
- }
118073
+ gl .activeTexture (gl .TEXTURE0 + this [_texture2DUnits] [0]);
118074
+ gl .bindTexture (gl .TEXTURE_2D, this [_defaultTexture2D]);
118075
+ gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData);
118103
118076
 
118104
118077
  // Default Texture 3D Unit
118105
118078
 
118106
118079
  if (gl .getVersion () >= 2)
118107
118080
  {
118108
- for (const [i, _defaultTexture3D] of [_defaultTexture3DBlack, _defaultTexture3DWhite] .entries ())
118109
- {
118110
- this [_defaultTexture3D] = gl .createTexture ();
118081
+ this [_defaultTexture3D] = gl .createTexture ();
118111
118082
 
118112
- gl .activeTexture (gl .TEXTURE0 + this [_texture3DUnits] [0]);
118113
- gl .bindTexture (gl .TEXTURE_3D, this [_defaultTexture3D]);
118114
- gl .texImage3D (gl .TEXTURE_3D, 0, gl .RGBA, 1, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData [i]);
118115
- }
118083
+ gl .activeTexture (gl .TEXTURE0 + this [_texture3DUnits] [0]);
118084
+ gl .bindTexture (gl .TEXTURE_3D, this [_defaultTexture3D]);
118085
+ gl .texImage3D (gl .TEXTURE_3D, 0, gl .RGBA, 1, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData);
118116
118086
  }
118117
118087
 
118118
118088
  // Default Texture Cube Unit
118119
118089
 
118120
- for (const [i, _defaultTextureCube] of [_defaultTextureCubeBlack, _defaultTextureCubeWhite] .entries ())
118121
- {
118122
- this [_defaultTextureCube] = gl .createTexture ();
118090
+ this [_defaultTextureCube] = gl .createTexture ();
118123
118091
 
118124
- gl .activeTexture (gl .TEXTURE0 + this [_textureCubeUnits] [0]);
118125
- gl .bindTexture (gl .TEXTURE_CUBE_MAP, this [_defaultTextureCube]);
118126
- gl .texImage2D (gl .TEXTURE_CUBE_MAP_POSITIVE_Z, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData [i]);
118127
- gl .texImage2D (gl .TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData [i]);
118128
- gl .texImage2D (gl .TEXTURE_CUBE_MAP_NEGATIVE_X, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData [i]);
118129
- gl .texImage2D (gl .TEXTURE_CUBE_MAP_POSITIVE_X, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData [i]);
118130
- gl .texImage2D (gl .TEXTURE_CUBE_MAP_POSITIVE_Y, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData [i]);
118131
- gl .texImage2D (gl .TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData [i]);
118132
- }
118092
+ gl .activeTexture (gl .TEXTURE0 + this [_textureCubeUnits] [0]);
118093
+ gl .bindTexture (gl .TEXTURE_CUBE_MAP, this [_defaultTextureCube]);
118094
+ gl .texImage2D (gl .TEXTURE_CUBE_MAP_POSITIVE_Z, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData);
118095
+ gl .texImage2D (gl .TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData);
118096
+ gl .texImage2D (gl .TEXTURE_CUBE_MAP_NEGATIVE_X, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData);
118097
+ gl .texImage2D (gl .TEXTURE_CUBE_MAP_POSITIVE_X, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData);
118098
+ gl .texImage2D (gl .TEXTURE_CUBE_MAP_POSITIVE_Y, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData);
118099
+ gl .texImage2D (gl .TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, gl .RGBA, 1, 1, 0, gl .RGBA, gl .UNSIGNED_BYTE, defaultData);
118133
118100
 
118134
118101
  // Init texture units.
118135
118102
 
@@ -118279,37 +118246,24 @@ Object .assign (X3DTexturingContext .prototype,
118279
118246
  {
118280
118247
  return NaN;
118281
118248
  },
118282
- getDefaultTexture2DBlack ()
118283
- {
118284
- return this [_defaultTexture2DBlack];
118285
- },
118286
- getDefaultTexture2DWhite ()
118249
+ getDefaultTexture2D ()
118287
118250
  {
118288
- return this [_defaultTexture2DWhite];
118251
+ return this [_defaultTexture2D];
118289
118252
  },
118290
- getDefaultTexture3DBlack ()
118253
+ getDefaultTexture3D ()
118291
118254
  {
118292
- return this [_defaultTexture3DBlack];
118255
+ return this [_defaultTexture3D];
118293
118256
  },
118294
- getDefaultTexture3DWhite ()
118257
+ getDefaultTextureCube ()
118295
118258
  {
118296
- return this [_defaultTexture3DWhite];
118297
- },
118298
- getDefaultTextureCubeBlack ()
118299
- {
118300
- return this [_defaultTextureCubeBlack];
118301
- },
118302
- getDefaultTextureCubeWhite ()
118303
- {
118304
- return this [_defaultTextureCubeWhite];
118259
+ return this [_defaultTextureCube];
118305
118260
  },
118306
118261
  getDefaultTextureProperties ()
118307
118262
  {
118308
118263
  this [_defaultTextureProperties] = new Texturing_TextureProperties (this .getPrivateScene ());
118309
- this [_defaultTextureProperties] ._magnificationFilter = "NICEST";
118310
- this [_defaultTextureProperties] ._minificationFilter = "NEAREST_PIXEL_AVG_MIPMAP";
118311
118264
  this [_defaultTextureProperties] ._generateMipMaps = true;
118312
- this [_defaultTextureProperties] ._textureCompression = "NICEST";
118265
+ this [_defaultTextureProperties] ._minificationFilter = "NICEST";
118266
+ this [_defaultTextureProperties] ._magnificationFilter = "NICEST";
118313
118267
 
118314
118268
  this [_defaultTextureProperties] .setup ();
118315
118269
 
@@ -119470,7 +119424,7 @@ const Components_default_ = Components;
119470
119424
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
119471
119425
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
119472
119426
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
119473
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(979);
119427
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(718);
119474
119428
  /*******************************************************************************
119475
119429
  * MIT License
119476
119430
  *
@@ -120609,7 +120563,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
120609
120563
  x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
120610
120564
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
120611
120565
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
120612
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(979);
120566
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(718);
120613
120567
  /*******************************************************************************
120614
120568
  *
120615
120569
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -121690,7 +121644,7 @@ const X3DBrowser_default_ = X3DBrowser;
121690
121644
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
121691
121645
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
121692
121646
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
121693
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(979);
121647
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(718);
121694
121648
  /*******************************************************************************
121695
121649
  *
121696
121650
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -121822,8 +121776,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
121822
121776
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
121823
121777
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
121824
121778
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
121825
- /* provided dependency */ var jquery_$ = __webpack_require__(979);
121826
- /* provided dependency */ var pako = __webpack_require__(264);
121779
+ /* provided dependency */ var jquery_$ = __webpack_require__(718);
121780
+ /* provided dependency */ var pako = __webpack_require__(994);
121827
121781
  Object .assign (jquery_$,
121828
121782
  {
121829
121783
  decodeText (input)
@@ -121900,14 +121854,14 @@ const jquery_default_ = jquery_$;
121900
121854
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
121901
121855
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
121902
121856
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
121903
- /* provided dependency */ var libtess_libtess = __webpack_require__(235);
121857
+ /* provided dependency */ var libtess_libtess = __webpack_require__(89);
121904
121858
  const libtess_default_ = libtess_libtess;
121905
121859
  ;
121906
121860
 
121907
121861
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
121908
121862
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
121909
121863
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
121910
- /* provided dependency */ var X3D_$ = __webpack_require__(979);
121864
+ /* provided dependency */ var X3D_$ = __webpack_require__(718);
121911
121865
  /*******************************************************************************
121912
121866
  *
121913
121867
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122301,7 +122255,7 @@ x_ite_Namespace .add ("shim", "shim", shim_default_);
122301
122255
 
122302
122256
  // Assign X3D to global namespace.
122303
122257
 
122304
- window [Symbol .for ("X_ITE.X3D-9.0.1")] = x_ite_X3D;
122258
+ window [Symbol .for ("X_ITE.X3D-9.0.2")] = x_ite_X3D;
122305
122259
 
122306
122260
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
122307
122261