babylonjs-serializers 5.2.0 → 5.5.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.
@@ -600,6 +600,75 @@ var KHR_materials_clearcoat = /** @class */ (function () {
600
600
  _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_clearcoat(exporter); });
601
601
 
602
602
 
603
+ /***/ }),
604
+
605
+ /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_ior.js":
606
+ /*!******************************************************************************!*\
607
+ !*** ../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_ior.js ***!
608
+ \******************************************************************************/
609
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
610
+
611
+ __webpack_require__.r(__webpack_exports__);
612
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
613
+ /* harmony export */ "KHR_materials_ior": () => (/* binding */ KHR_materials_ior)
614
+ /* harmony export */ });
615
+ /* harmony import */ var _glTFExporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../glTFExporter */ "../../../lts/serializers/dist/glTF/2.0/glTFExporter.js");
616
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/Materials/PBR/pbrMaterial */ "core/Maths/math.vector");
617
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__);
618
+
619
+
620
+ var NAME = "KHR_materials_ior";
621
+ /**
622
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_ior/README.md)
623
+ */
624
+ // eslint-disable-next-line @typescript-eslint/naming-convention
625
+ var KHR_materials_ior = /** @class */ (function () {
626
+ function KHR_materials_ior() {
627
+ /** Name of this extension */
628
+ this.name = NAME;
629
+ /** Defines whether this extension is enabled */
630
+ this.enabled = true;
631
+ /** Defines whether this extension is required */
632
+ this.required = false;
633
+ this._wasUsed = false;
634
+ }
635
+ KHR_materials_ior.prototype.dispose = function () { };
636
+ Object.defineProperty(KHR_materials_ior.prototype, "wasUsed", {
637
+ /** @hidden */
638
+ get: function () {
639
+ return this._wasUsed;
640
+ },
641
+ enumerable: false,
642
+ configurable: true
643
+ });
644
+ KHR_materials_ior.prototype._isExtensionEnabled = function (mat) {
645
+ // This extension must not be used on a material that also uses KHR_materials_unlit
646
+ if (mat.unlit) {
647
+ return false;
648
+ }
649
+ return mat.indexOfRefraction != undefined && mat.indexOfRefraction != 1.5; // 1.5 is normative default value.
650
+ };
651
+ KHR_materials_ior.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
652
+ var _this = this;
653
+ return new Promise(function (resolve) {
654
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial && _this._isExtensionEnabled(babylonMaterial)) {
655
+ _this._wasUsed = true;
656
+ var iorInfo = {
657
+ ior: babylonMaterial.indexOfRefraction,
658
+ };
659
+ node.extensions = node.extensions || {};
660
+ node.extensions[NAME] = iorInfo;
661
+ }
662
+ resolve(node);
663
+ });
664
+ };
665
+ return KHR_materials_ior;
666
+ }());
667
+
668
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
669
+ _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_ior(); });
670
+
671
+
603
672
  /***/ }),
604
673
 
605
674
  /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_iridescence.js":
@@ -671,7 +740,7 @@ var KHR_materials_iridescence = /** @class */ (function () {
671
740
  var iridescenceThicknessTextureInfo = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.iridescence.thicknessTexture);
672
741
  var iridescenceInfo_1 = {
673
742
  iridescenceFactor: babylonMaterial.iridescence.intensity,
674
- iridescenceIOR: babylonMaterial.iridescence.indexOfRefraction,
743
+ iridescenceIor: babylonMaterial.iridescence.indexOfRefraction,
675
744
  iridescenceThicknessMinimum: babylonMaterial.iridescence.minimumThickness,
676
745
  iridescenceThicknessMaximum: babylonMaterial.iridescence.maximumThickness,
677
746
  iridescenceTexture: iridescenceTextureInfo !== null && iridescenceTextureInfo !== void 0 ? iridescenceTextureInfo : undefined,
@@ -839,6 +908,10 @@ var KHR_materials_specular = /** @class */ (function () {
839
908
  return additionalTextures;
840
909
  };
841
910
  KHR_materials_specular.prototype._isExtensionEnabled = function (mat) {
911
+ // This extension must not be used on a material that also uses KHR_materials_unlit
912
+ if (mat.unlit) {
913
+ return false;
914
+ }
842
915
  return ((mat.metallicF0Factor != undefined && mat.metallicF0Factor != 1.0) ||
843
916
  (mat.metallicReflectanceColor != undefined && !mat.metallicReflectanceColor.equalsFloats(1.0, 1.0, 1.0)) ||
844
917
  this._hasTexturesExtension(mat));
@@ -879,6 +952,99 @@ var KHR_materials_specular = /** @class */ (function () {
879
952
  _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_specular(exporter); });
880
953
 
881
954
 
955
+ /***/ }),
956
+
957
+ /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_transmission.js":
958
+ /*!***************************************************************************************!*\
959
+ !*** ../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_transmission.js ***!
960
+ \***************************************************************************************/
961
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
962
+
963
+ __webpack_require__.r(__webpack_exports__);
964
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
965
+ /* harmony export */ "KHR_materials_transmission": () => (/* binding */ KHR_materials_transmission)
966
+ /* harmony export */ });
967
+ /* harmony import */ var _glTFExporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../glTFExporter */ "../../../lts/serializers/dist/glTF/2.0/glTFExporter.js");
968
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/Materials/PBR/pbrMaterial */ "core/Maths/math.vector");
969
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__);
970
+
971
+
972
+ var NAME = "KHR_materials_transmission";
973
+ /**
974
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_transmission/README.md)
975
+ */
976
+ // eslint-disable-next-line @typescript-eslint/naming-convention
977
+ var KHR_materials_transmission = /** @class */ (function () {
978
+ function KHR_materials_transmission(exporter) {
979
+ /** Name of this extension */
980
+ this.name = NAME;
981
+ /** Defines whether this extension is enabled */
982
+ this.enabled = true;
983
+ /** Defines whether this extension is required */
984
+ this.required = false;
985
+ this._wasUsed = false;
986
+ this._exporter = exporter;
987
+ }
988
+ KHR_materials_transmission.prototype.dispose = function () { };
989
+ Object.defineProperty(KHR_materials_transmission.prototype, "wasUsed", {
990
+ /** @hidden */
991
+ get: function () {
992
+ return this._wasUsed;
993
+ },
994
+ enumerable: false,
995
+ configurable: true
996
+ });
997
+ KHR_materials_transmission.prototype.postExportMaterialAdditionalTextures = function (context, node, babylonMaterial) {
998
+ var additionalTextures = [];
999
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial) {
1000
+ if (this._isExtensionEnabled(babylonMaterial)) {
1001
+ if (babylonMaterial.subSurface.thicknessTexture) {
1002
+ additionalTextures.push(babylonMaterial.subSurface.thicknessTexture);
1003
+ }
1004
+ return additionalTextures;
1005
+ }
1006
+ }
1007
+ return additionalTextures;
1008
+ };
1009
+ KHR_materials_transmission.prototype._isExtensionEnabled = function (mat) {
1010
+ // This extension must not be used on a material that also uses KHR_materials_unlit
1011
+ if (mat.unlit) {
1012
+ return false;
1013
+ }
1014
+ var subs = mat.subSurface;
1015
+ return (subs.isRefractionEnabled && subs.refractionIntensity != undefined && subs.refractionIntensity != 0) || this._hasTexturesExtension(mat);
1016
+ };
1017
+ KHR_materials_transmission.prototype._hasTexturesExtension = function (mat) {
1018
+ return mat.subSurface.refractionIntensityTexture != null;
1019
+ };
1020
+ KHR_materials_transmission.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
1021
+ var _this = this;
1022
+ return new Promise(function (resolve) {
1023
+ var _a;
1024
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial && _this._isExtensionEnabled(babylonMaterial)) {
1025
+ _this._wasUsed = true;
1026
+ var subs = babylonMaterial.subSurface;
1027
+ var transmissionFactor = subs.refractionIntensity === 0 ? undefined : subs.refractionIntensity;
1028
+ var transmissionTexture = (_a = _this._exporter._glTFMaterialExporter._getTextureInfo(subs.refractionIntensityTexture)) !== null && _a !== void 0 ? _a : undefined;
1029
+ var volumeInfo = {
1030
+ transmissionFactor: transmissionFactor,
1031
+ transmissionTexture: transmissionTexture,
1032
+ hasTextures: function () {
1033
+ return _this._hasTexturesExtension(babylonMaterial);
1034
+ },
1035
+ };
1036
+ node.extensions = node.extensions || {};
1037
+ node.extensions[NAME] = volumeInfo;
1038
+ }
1039
+ resolve(node);
1040
+ });
1041
+ };
1042
+ return KHR_materials_transmission;
1043
+ }());
1044
+
1045
+ _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_transmission(exporter); });
1046
+
1047
+
882
1048
  /***/ }),
883
1049
 
884
1050
  /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_unlit.js":
@@ -947,6 +1113,111 @@ var KHR_materials_unlit = /** @class */ (function () {
947
1113
  _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function () { return new KHR_materials_unlit(); });
948
1114
 
949
1115
 
1116
+ /***/ }),
1117
+
1118
+ /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_volume.js":
1119
+ /*!*********************************************************************************!*\
1120
+ !*** ../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_volume.js ***!
1121
+ \*********************************************************************************/
1122
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1123
+
1124
+ __webpack_require__.r(__webpack_exports__);
1125
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1126
+ /* harmony export */ "KHR_materials_volume": () => (/* binding */ KHR_materials_volume)
1127
+ /* harmony export */ });
1128
+ /* harmony import */ var _glTFExporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../glTFExporter */ "../../../lts/serializers/dist/glTF/2.0/glTFExporter.js");
1129
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/Maths/math.color */ "core/Maths/math.vector");
1130
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__);
1131
+
1132
+
1133
+
1134
+ var NAME = "KHR_materials_volume";
1135
+ /**
1136
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md)
1137
+ */
1138
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1139
+ var KHR_materials_volume = /** @class */ (function () {
1140
+ function KHR_materials_volume(exporter) {
1141
+ /** Name of this extension */
1142
+ this.name = NAME;
1143
+ /** Defines whether this extension is enabled */
1144
+ this.enabled = true;
1145
+ /** Defines whether this extension is required */
1146
+ this.required = false;
1147
+ this._wasUsed = false;
1148
+ this._exporter = exporter;
1149
+ }
1150
+ KHR_materials_volume.prototype.dispose = function () { };
1151
+ Object.defineProperty(KHR_materials_volume.prototype, "wasUsed", {
1152
+ /** @hidden */
1153
+ get: function () {
1154
+ return this._wasUsed;
1155
+ },
1156
+ enumerable: false,
1157
+ configurable: true
1158
+ });
1159
+ KHR_materials_volume.prototype.postExportMaterialAdditionalTextures = function (context, node, babylonMaterial) {
1160
+ var additionalTextures = [];
1161
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial) {
1162
+ if (this._isExtensionEnabled(babylonMaterial)) {
1163
+ if (babylonMaterial.subSurface.thicknessTexture) {
1164
+ additionalTextures.push(babylonMaterial.subSurface.thicknessTexture);
1165
+ }
1166
+ return additionalTextures;
1167
+ }
1168
+ }
1169
+ return additionalTextures;
1170
+ };
1171
+ KHR_materials_volume.prototype._isExtensionEnabled = function (mat) {
1172
+ // This extension must not be used on a material that also uses KHR_materials_unlit
1173
+ if (mat.unlit) {
1174
+ return false;
1175
+ }
1176
+ var subs = mat.subSurface;
1177
+ // this extension requires either the KHR_materials_transmission or KHR_materials_translucency extensions.
1178
+ if (!subs.isRefractionEnabled && !subs.isTranslucencyEnabled) {
1179
+ return false;
1180
+ }
1181
+ return ((subs.maximumThickness != undefined && subs.maximumThickness != 0) ||
1182
+ (subs.tintColorAtDistance != undefined && subs.tintColorAtDistance != Number.POSITIVE_INFINITY) ||
1183
+ (subs.tintColor != undefined && subs.tintColor != core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.Color3.White()) ||
1184
+ this._hasTexturesExtension(mat));
1185
+ };
1186
+ KHR_materials_volume.prototype._hasTexturesExtension = function (mat) {
1187
+ return mat.subSurface.thicknessTexture != null;
1188
+ };
1189
+ KHR_materials_volume.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
1190
+ var _this = this;
1191
+ return new Promise(function (resolve) {
1192
+ var _a;
1193
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial && _this._isExtensionEnabled(babylonMaterial)) {
1194
+ _this._wasUsed = true;
1195
+ var subs = babylonMaterial.subSurface;
1196
+ var thicknessFactor = subs.maximumThickness == 0 ? undefined : subs.maximumThickness;
1197
+ var thicknessTexture = (_a = _this._exporter._glTFMaterialExporter._getTextureInfo(subs.thicknessTexture)) !== null && _a !== void 0 ? _a : undefined;
1198
+ var attenuationDistance = subs.tintColorAtDistance == Number.POSITIVE_INFINITY ? undefined : subs.tintColorAtDistance;
1199
+ var attenuationColor = subs.tintColor.equalsFloats(1.0, 1.0, 1.0) ? undefined : subs.tintColor.asArray();
1200
+ var volumeInfo = {
1201
+ thicknessFactor: thicknessFactor,
1202
+ thicknessTexture: thicknessTexture,
1203
+ attenuationDistance: attenuationDistance,
1204
+ attenuationColor: attenuationColor,
1205
+ hasTextures: function () {
1206
+ return _this._hasTexturesExtension(babylonMaterial);
1207
+ },
1208
+ };
1209
+ node.extensions = node.extensions || {};
1210
+ node.extensions[NAME] = volumeInfo;
1211
+ }
1212
+ resolve(node);
1213
+ });
1214
+ };
1215
+ return KHR_materials_volume;
1216
+ }());
1217
+
1218
+ _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_volume(exporter); });
1219
+
1220
+
950
1221
  /***/ }),
951
1222
 
952
1223
  /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_texture_transform.js":
@@ -1114,10 +1385,13 @@ __webpack_require__.r(__webpack_exports__);
1114
1385
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1115
1386
  /* harmony export */ "KHR_lights_punctual": () => (/* reexport safe */ _KHR_lights_punctual__WEBPACK_IMPORTED_MODULE_1__.KHR_lights_punctual),
1116
1387
  /* harmony export */ "KHR_materials_clearcoat": () => (/* reexport safe */ _KHR_materials_clearcoat__WEBPACK_IMPORTED_MODULE_2__.KHR_materials_clearcoat),
1388
+ /* harmony export */ "KHR_materials_ior": () => (/* reexport safe */ _KHR_materials_ior__WEBPACK_IMPORTED_MODULE_6__.KHR_materials_ior),
1117
1389
  /* harmony export */ "KHR_materials_iridescence": () => (/* reexport safe */ _KHR_materials_iridescence__WEBPACK_IMPORTED_MODULE_3__.KHR_materials_iridescence),
1118
1390
  /* harmony export */ "KHR_materials_sheen": () => (/* reexport safe */ _KHR_materials_sheen__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_sheen),
1119
- /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _KHR_materials_specular__WEBPACK_IMPORTED_MODULE_6__.KHR_materials_specular),
1391
+ /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _KHR_materials_specular__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_specular),
1392
+ /* harmony export */ "KHR_materials_transmission": () => (/* reexport safe */ _KHR_materials_transmission__WEBPACK_IMPORTED_MODULE_9__.KHR_materials_transmission),
1120
1393
  /* harmony export */ "KHR_materials_unlit": () => (/* reexport safe */ _KHR_materials_unlit__WEBPACK_IMPORTED_MODULE_5__.KHR_materials_unlit),
1394
+ /* harmony export */ "KHR_materials_volume": () => (/* reexport safe */ _KHR_materials_volume__WEBPACK_IMPORTED_MODULE_8__.KHR_materials_volume),
1121
1395
  /* harmony export */ "KHR_texture_transform": () => (/* reexport safe */ _KHR_texture_transform__WEBPACK_IMPORTED_MODULE_0__.KHR_texture_transform)
1122
1396
  /* harmony export */ });
1123
1397
  /* harmony import */ var _KHR_texture_transform__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./KHR_texture_transform */ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_texture_transform.js");
@@ -1126,7 +1400,13 @@ __webpack_require__.r(__webpack_exports__);
1126
1400
  /* harmony import */ var _KHR_materials_iridescence__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./KHR_materials_iridescence */ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_iridescence.js");
1127
1401
  /* harmony import */ var _KHR_materials_sheen__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./KHR_materials_sheen */ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_sheen.js");
1128
1402
  /* harmony import */ var _KHR_materials_unlit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./KHR_materials_unlit */ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_unlit.js");
1129
- /* harmony import */ var _KHR_materials_specular__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./KHR_materials_specular */ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_specular.js");
1403
+ /* harmony import */ var _KHR_materials_ior__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./KHR_materials_ior */ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_ior.js");
1404
+ /* harmony import */ var _KHR_materials_specular__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./KHR_materials_specular */ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_specular.js");
1405
+ /* harmony import */ var _KHR_materials_volume__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./KHR_materials_volume */ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_volume.js");
1406
+ /* harmony import */ var _KHR_materials_transmission__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./KHR_materials_transmission */ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_transmission.js");
1407
+
1408
+
1409
+
1130
1410
 
1131
1411
 
1132
1412
 
@@ -4307,7 +4587,7 @@ var _GLTFMaterialExporter = /** @class */ (function () {
4307
4587
  var glTFMaterial = { name: babylonStandardMaterial.name };
4308
4588
  if (babylonStandardMaterial.backFaceCulling != null && !babylonStandardMaterial.backFaceCulling) {
4309
4589
  if (!babylonStandardMaterial.twoSidedLighting) {
4310
- core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Tools.Warn(babylonStandardMaterial.name + ": Back-face culling enabled and two-sided lighting disabled is not supported in glTF.");
4590
+ core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Tools.Warn(babylonStandardMaterial.name + ": Back-face culling disabled and two-sided lighting disabled is not supported in glTF.");
4311
4591
  }
4312
4592
  glTFMaterial.doubleSided = true;
4313
4593
  }
@@ -4390,82 +4670,6 @@ var _GLTFMaterialExporter = /** @class */ (function () {
4390
4670
  });
4391
4671
  });
4392
4672
  };
4393
- /**
4394
- * Converts a Babylon PBR Metallic Roughness Material to a glTF Material
4395
- * @param babylonPBRMetalRoughMaterial BJS PBR Metallic Roughness Material
4396
- * @param mimeType mime type to use for the textures
4397
- * @param hasTextureCoords specifies if texture coordinates are present on the submesh to determine if textures should be applied
4398
- */
4399
- _GLTFMaterialExporter.prototype._convertPBRMetallicRoughnessMaterialAsync = function (babylonPBRMetalRoughMaterial, mimeType, hasTextureCoords) {
4400
- var materialMap = this._exporter._materialMap;
4401
- var materials = this._exporter._materials;
4402
- var promises = [];
4403
- var glTFPbrMetallicRoughness = {};
4404
- if (babylonPBRMetalRoughMaterial.baseColor) {
4405
- glTFPbrMetallicRoughness.baseColorFactor = [
4406
- babylonPBRMetalRoughMaterial.baseColor.r,
4407
- babylonPBRMetalRoughMaterial.baseColor.g,
4408
- babylonPBRMetalRoughMaterial.baseColor.b,
4409
- babylonPBRMetalRoughMaterial.alpha,
4410
- ];
4411
- }
4412
- if (babylonPBRMetalRoughMaterial.metallic != null && babylonPBRMetalRoughMaterial.metallic !== 1) {
4413
- glTFPbrMetallicRoughness.metallicFactor = babylonPBRMetalRoughMaterial.metallic;
4414
- }
4415
- if (babylonPBRMetalRoughMaterial.roughness != null && babylonPBRMetalRoughMaterial.roughness !== 1) {
4416
- glTFPbrMetallicRoughness.roughnessFactor = babylonPBRMetalRoughMaterial.roughness;
4417
- }
4418
- var glTFMaterial = {
4419
- name: babylonPBRMetalRoughMaterial.name,
4420
- };
4421
- if (babylonPBRMetalRoughMaterial.doubleSided) {
4422
- glTFMaterial.doubleSided = babylonPBRMetalRoughMaterial.doubleSided;
4423
- }
4424
- _GLTFMaterialExporter._SetAlphaMode(glTFMaterial, babylonPBRMetalRoughMaterial);
4425
- if (hasTextureCoords) {
4426
- if (babylonPBRMetalRoughMaterial.baseTexture != null) {
4427
- promises.push(this._exportTextureAsync(babylonPBRMetalRoughMaterial.baseTexture, mimeType).then(function (glTFTexture) {
4428
- if (glTFTexture) {
4429
- glTFPbrMetallicRoughness.baseColorTexture = glTFTexture;
4430
- }
4431
- }));
4432
- }
4433
- if (babylonPBRMetalRoughMaterial.normalTexture) {
4434
- promises.push(this._exportTextureAsync(babylonPBRMetalRoughMaterial.normalTexture, mimeType).then(function (glTFTexture) {
4435
- if (glTFTexture) {
4436
- glTFMaterial.normalTexture = glTFTexture;
4437
- if (babylonPBRMetalRoughMaterial.normalTexture.level !== 1) {
4438
- glTFMaterial.normalTexture.scale = babylonPBRMetalRoughMaterial.normalTexture.level;
4439
- }
4440
- }
4441
- }));
4442
- }
4443
- if (babylonPBRMetalRoughMaterial.occlusionTexture) {
4444
- promises.push(this._exportTextureAsync(babylonPBRMetalRoughMaterial.occlusionTexture, mimeType).then(function (glTFTexture) {
4445
- if (glTFTexture) {
4446
- glTFMaterial.occlusionTexture = glTFTexture;
4447
- if (babylonPBRMetalRoughMaterial.occlusionStrength != null) {
4448
- glTFMaterial.occlusionTexture.strength = babylonPBRMetalRoughMaterial.occlusionStrength;
4449
- }
4450
- }
4451
- }));
4452
- }
4453
- if (babylonPBRMetalRoughMaterial.emissiveTexture) {
4454
- promises.push(this._exportTextureAsync(babylonPBRMetalRoughMaterial.emissiveTexture, mimeType).then(function (glTFTexture) {
4455
- if (glTFTexture) {
4456
- glTFMaterial.emissiveTexture = glTFTexture;
4457
- }
4458
- }));
4459
- }
4460
- }
4461
- if (_GLTFMaterialExporter._FuzzyEquals(babylonPBRMetalRoughMaterial.emissiveColor, core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Color3.Black(), _GLTFMaterialExporter._Epsilon)) {
4462
- glTFMaterial.emissiveFactor = babylonPBRMetalRoughMaterial.emissiveColor.asArray();
4463
- }
4464
- glTFMaterial.pbrMetallicRoughness = glTFPbrMetallicRoughness;
4465
- materials.push(glTFMaterial);
4466
- materialMap[babylonPBRMetalRoughMaterial.uniqueId] = materials.length - 1;
4467
- return this._finishMaterial(promises, glTFMaterial, babylonPBRMetalRoughMaterial, mimeType);
4468
- };
4469
4673
  /**
4470
4674
  * Converts an image typed array buffer to a base64 image
4471
4675
  * @param buffer typed array buffer
@@ -4994,7 +5198,7 @@ var _GLTFMaterialExporter = /** @class */ (function () {
4994
5198
  }
4995
5199
  if (babylonPBRMaterial.backFaceCulling != null && !babylonPBRMaterial.backFaceCulling) {
4996
5200
  if (!babylonPBRMaterial._twoSidedLighting) {
4997
- core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Tools.Warn(babylonPBRMaterial.name + ": Back-face culling enabled and two-sided lighting disabled is not supported in glTF.");
5201
+ core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Tools.Warn(babylonPBRMaterial.name + ": Back-face culling disabled and two-sided lighting disabled is not supported in glTF.");
4998
5202
  }
4999
5203
  glTFMaterial.doubleSided = true;
5000
5204
  }
@@ -5519,10 +5723,13 @@ __webpack_require__.r(__webpack_exports__);
5519
5723
  /* harmony export */ "GLTFData": () => (/* reexport safe */ _glTFData__WEBPACK_IMPORTED_MODULE_1__.GLTFData),
5520
5724
  /* harmony export */ "KHR_lights_punctual": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_lights_punctual),
5521
5725
  /* harmony export */ "KHR_materials_clearcoat": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_clearcoat),
5726
+ /* harmony export */ "KHR_materials_ior": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_ior),
5522
5727
  /* harmony export */ "KHR_materials_iridescence": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_iridescence),
5523
5728
  /* harmony export */ "KHR_materials_sheen": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_sheen),
5524
5729
  /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_specular),
5730
+ /* harmony export */ "KHR_materials_transmission": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_transmission),
5525
5731
  /* harmony export */ "KHR_materials_unlit": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_unlit),
5732
+ /* harmony export */ "KHR_materials_volume": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_volume),
5526
5733
  /* harmony export */ "KHR_texture_transform": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_texture_transform),
5527
5734
  /* harmony export */ "_BinaryWriter": () => (/* reexport safe */ _glTFExporter__WEBPACK_IMPORTED_MODULE_2__._BinaryWriter),
5528
5735
  /* harmony export */ "_Exporter": () => (/* reexport safe */ _glTFExporter__WEBPACK_IMPORTED_MODULE_2__._Exporter),
@@ -5605,10 +5812,13 @@ __webpack_require__.r(__webpack_exports__);
5605
5812
  /* harmony export */ "GLTFData": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.GLTFData),
5606
5813
  /* harmony export */ "KHR_lights_punctual": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_lights_punctual),
5607
5814
  /* harmony export */ "KHR_materials_clearcoat": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_clearcoat),
5815
+ /* harmony export */ "KHR_materials_ior": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_ior),
5608
5816
  /* harmony export */ "KHR_materials_iridescence": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_iridescence),
5609
5817
  /* harmony export */ "KHR_materials_sheen": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_sheen),
5610
5818
  /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_specular),
5819
+ /* harmony export */ "KHR_materials_transmission": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_transmission),
5611
5820
  /* harmony export */ "KHR_materials_unlit": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_unlit),
5821
+ /* harmony export */ "KHR_materials_volume": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_volume),
5612
5822
  /* harmony export */ "KHR_texture_transform": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_texture_transform),
5613
5823
  /* harmony export */ "_BinaryWriter": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__._BinaryWriter),
5614
5824
  /* harmony export */ "_Exporter": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__._Exporter),