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.
@@ -61,6 +61,26 @@ declare module BABYLON {
61
61
  }
62
62
 
63
63
 
64
+ /**
65
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_ior/README.md)
66
+ */
67
+ export class KHR_materials_ior implements IGLTFExporterExtensionV2 {
68
+ /** Name of this extension */
69
+ readonly name = "KHR_materials_ior";
70
+ /** Defines whether this extension is enabled */
71
+ enabled: boolean;
72
+ /** Defines whether this extension is required */
73
+ required: boolean;
74
+ private _wasUsed;
75
+ constructor();
76
+ dispose(): void;
77
+ /** @hidden */
78
+ get wasUsed(): boolean;
79
+ private _isExtensionEnabled;
80
+ postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
81
+ }
82
+
83
+
64
84
  /**
65
85
  * @hidden
66
86
  */
@@ -126,6 +146,29 @@ declare module BABYLON {
126
146
  }
127
147
 
128
148
 
149
+ /**
150
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_transmission/README.md)
151
+ */
152
+ export class KHR_materials_transmission implements IGLTFExporterExtensionV2 {
153
+ /** Name of this extension */
154
+ readonly name = "KHR_materials_transmission";
155
+ /** Defines whether this extension is enabled */
156
+ enabled: boolean;
157
+ /** Defines whether this extension is required */
158
+ required: boolean;
159
+ private _exporter;
160
+ private _wasUsed;
161
+ constructor(exporter: _Exporter);
162
+ dispose(): void;
163
+ /** @hidden */
164
+ get wasUsed(): boolean;
165
+ postExportMaterialAdditionalTextures?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): BaseTexture[];
166
+ private _isExtensionEnabled;
167
+ private _hasTexturesExtension;
168
+ postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
169
+ }
170
+
171
+
129
172
  /**
130
173
  * @hidden
131
174
  */
@@ -145,6 +188,29 @@ declare module BABYLON {
145
188
  }
146
189
 
147
190
 
191
+ /**
192
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md)
193
+ */
194
+ export class KHR_materials_volume implements IGLTFExporterExtensionV2 {
195
+ /** Name of this extension */
196
+ readonly name = "KHR_materials_volume";
197
+ /** Defines whether this extension is enabled */
198
+ enabled: boolean;
199
+ /** Defines whether this extension is required */
200
+ required: boolean;
201
+ private _exporter;
202
+ private _wasUsed;
203
+ constructor(exporter: _Exporter);
204
+ dispose(): void;
205
+ /** @hidden */
206
+ get wasUsed(): boolean;
207
+ postExportMaterialAdditionalTextures?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): BaseTexture[];
208
+ private _isExtensionEnabled;
209
+ private _hasTexturesExtension;
210
+ postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
211
+ }
212
+
213
+
148
214
  /**
149
215
  * @hidden
150
216
  */
@@ -983,13 +1049,6 @@ declare module BABYLON {
983
1049
  */
984
1050
  _convertStandardMaterialAsync(babylonStandardMaterial: StandardMaterial, mimeType: BABYLON.GLTF2.ImageMimeType, hasTextureCoords: boolean): Promise<BABYLON.GLTF2.IMaterial>;
985
1051
  private _finishMaterial;
986
- /**
987
- * Converts a Babylon PBR Metallic Roughness Material to a glTF Material
988
- * @param babylonPBRMetalRoughMaterial BJS PBR Metallic Roughness Material
989
- * @param mimeType mime type to use for the textures
990
- * @param hasTextureCoords specifies if texture coordinates are present on the submesh to determine if textures should be applied
991
- */
992
- _convertPBRMetallicRoughnessMaterialAsync(babylonPBRMetalRoughMaterial: PBRMetallicRoughnessMaterial, mimeType: BABYLON.GLTF2.ImageMimeType, hasTextureCoords: boolean): Promise<BABYLON.GLTF2.IMaterial>;
993
1052
  /**
994
1053
  * Converts an image typed array buffer to a base64 image
995
1054
  * @param buffer typed array buffer
@@ -806,6 +806,75 @@ var KHR_materials_clearcoat = /** @class */ (function () {
806
806
  _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_clearcoat(exporter); });
807
807
 
808
808
 
809
+ /***/ }),
810
+
811
+ /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_ior.js":
812
+ /*!******************************************************************************!*\
813
+ !*** ../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_ior.js ***!
814
+ \******************************************************************************/
815
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
816
+
817
+ __webpack_require__.r(__webpack_exports__);
818
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
819
+ /* harmony export */ "KHR_materials_ior": () => (/* binding */ KHR_materials_ior)
820
+ /* harmony export */ });
821
+ /* harmony import */ var _glTFExporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../glTFExporter */ "../../../lts/serializers/dist/glTF/2.0/glTFExporter.js");
822
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/Materials/PBR/pbrMaterial */ "core/Maths/math.vector");
823
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__);
824
+
825
+
826
+ var NAME = "KHR_materials_ior";
827
+ /**
828
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_ior/README.md)
829
+ */
830
+ // eslint-disable-next-line @typescript-eslint/naming-convention
831
+ var KHR_materials_ior = /** @class */ (function () {
832
+ function KHR_materials_ior() {
833
+ /** Name of this extension */
834
+ this.name = NAME;
835
+ /** Defines whether this extension is enabled */
836
+ this.enabled = true;
837
+ /** Defines whether this extension is required */
838
+ this.required = false;
839
+ this._wasUsed = false;
840
+ }
841
+ KHR_materials_ior.prototype.dispose = function () { };
842
+ Object.defineProperty(KHR_materials_ior.prototype, "wasUsed", {
843
+ /** @hidden */
844
+ get: function () {
845
+ return this._wasUsed;
846
+ },
847
+ enumerable: false,
848
+ configurable: true
849
+ });
850
+ KHR_materials_ior.prototype._isExtensionEnabled = function (mat) {
851
+ // This extension must not be used on a material that also uses KHR_materials_unlit
852
+ if (mat.unlit) {
853
+ return false;
854
+ }
855
+ return mat.indexOfRefraction != undefined && mat.indexOfRefraction != 1.5; // 1.5 is normative default value.
856
+ };
857
+ KHR_materials_ior.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
858
+ var _this = this;
859
+ return new Promise(function (resolve) {
860
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial && _this._isExtensionEnabled(babylonMaterial)) {
861
+ _this._wasUsed = true;
862
+ var iorInfo = {
863
+ ior: babylonMaterial.indexOfRefraction,
864
+ };
865
+ node.extensions = node.extensions || {};
866
+ node.extensions[NAME] = iorInfo;
867
+ }
868
+ resolve(node);
869
+ });
870
+ };
871
+ return KHR_materials_ior;
872
+ }());
873
+
874
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
875
+ _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_ior(); });
876
+
877
+
809
878
  /***/ }),
810
879
 
811
880
  /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_iridescence.js":
@@ -877,7 +946,7 @@ var KHR_materials_iridescence = /** @class */ (function () {
877
946
  var iridescenceThicknessTextureInfo = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.iridescence.thicknessTexture);
878
947
  var iridescenceInfo_1 = {
879
948
  iridescenceFactor: babylonMaterial.iridescence.intensity,
880
- iridescenceIOR: babylonMaterial.iridescence.indexOfRefraction,
949
+ iridescenceIor: babylonMaterial.iridescence.indexOfRefraction,
881
950
  iridescenceThicknessMinimum: babylonMaterial.iridescence.minimumThickness,
882
951
  iridescenceThicknessMaximum: babylonMaterial.iridescence.maximumThickness,
883
952
  iridescenceTexture: iridescenceTextureInfo !== null && iridescenceTextureInfo !== void 0 ? iridescenceTextureInfo : undefined,
@@ -1045,6 +1114,10 @@ var KHR_materials_specular = /** @class */ (function () {
1045
1114
  return additionalTextures;
1046
1115
  };
1047
1116
  KHR_materials_specular.prototype._isExtensionEnabled = function (mat) {
1117
+ // This extension must not be used on a material that also uses KHR_materials_unlit
1118
+ if (mat.unlit) {
1119
+ return false;
1120
+ }
1048
1121
  return ((mat.metallicF0Factor != undefined && mat.metallicF0Factor != 1.0) ||
1049
1122
  (mat.metallicReflectanceColor != undefined && !mat.metallicReflectanceColor.equalsFloats(1.0, 1.0, 1.0)) ||
1050
1123
  this._hasTexturesExtension(mat));
@@ -1085,6 +1158,99 @@ var KHR_materials_specular = /** @class */ (function () {
1085
1158
  _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_specular(exporter); });
1086
1159
 
1087
1160
 
1161
+ /***/ }),
1162
+
1163
+ /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_transmission.js":
1164
+ /*!***************************************************************************************!*\
1165
+ !*** ../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_transmission.js ***!
1166
+ \***************************************************************************************/
1167
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1168
+
1169
+ __webpack_require__.r(__webpack_exports__);
1170
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1171
+ /* harmony export */ "KHR_materials_transmission": () => (/* binding */ KHR_materials_transmission)
1172
+ /* harmony export */ });
1173
+ /* harmony import */ var _glTFExporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../glTFExporter */ "../../../lts/serializers/dist/glTF/2.0/glTFExporter.js");
1174
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/Materials/PBR/pbrMaterial */ "core/Maths/math.vector");
1175
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__);
1176
+
1177
+
1178
+ var NAME = "KHR_materials_transmission";
1179
+ /**
1180
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_transmission/README.md)
1181
+ */
1182
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1183
+ var KHR_materials_transmission = /** @class */ (function () {
1184
+ function KHR_materials_transmission(exporter) {
1185
+ /** Name of this extension */
1186
+ this.name = NAME;
1187
+ /** Defines whether this extension is enabled */
1188
+ this.enabled = true;
1189
+ /** Defines whether this extension is required */
1190
+ this.required = false;
1191
+ this._wasUsed = false;
1192
+ this._exporter = exporter;
1193
+ }
1194
+ KHR_materials_transmission.prototype.dispose = function () { };
1195
+ Object.defineProperty(KHR_materials_transmission.prototype, "wasUsed", {
1196
+ /** @hidden */
1197
+ get: function () {
1198
+ return this._wasUsed;
1199
+ },
1200
+ enumerable: false,
1201
+ configurable: true
1202
+ });
1203
+ KHR_materials_transmission.prototype.postExportMaterialAdditionalTextures = function (context, node, babylonMaterial) {
1204
+ var additionalTextures = [];
1205
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial) {
1206
+ if (this._isExtensionEnabled(babylonMaterial)) {
1207
+ if (babylonMaterial.subSurface.thicknessTexture) {
1208
+ additionalTextures.push(babylonMaterial.subSurface.thicknessTexture);
1209
+ }
1210
+ return additionalTextures;
1211
+ }
1212
+ }
1213
+ return additionalTextures;
1214
+ };
1215
+ KHR_materials_transmission.prototype._isExtensionEnabled = function (mat) {
1216
+ // This extension must not be used on a material that also uses KHR_materials_unlit
1217
+ if (mat.unlit) {
1218
+ return false;
1219
+ }
1220
+ var subs = mat.subSurface;
1221
+ return (subs.isRefractionEnabled && subs.refractionIntensity != undefined && subs.refractionIntensity != 0) || this._hasTexturesExtension(mat);
1222
+ };
1223
+ KHR_materials_transmission.prototype._hasTexturesExtension = function (mat) {
1224
+ return mat.subSurface.refractionIntensityTexture != null;
1225
+ };
1226
+ KHR_materials_transmission.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
1227
+ var _this = this;
1228
+ return new Promise(function (resolve) {
1229
+ var _a;
1230
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial && _this._isExtensionEnabled(babylonMaterial)) {
1231
+ _this._wasUsed = true;
1232
+ var subs = babylonMaterial.subSurface;
1233
+ var transmissionFactor = subs.refractionIntensity === 0 ? undefined : subs.refractionIntensity;
1234
+ var transmissionTexture = (_a = _this._exporter._glTFMaterialExporter._getTextureInfo(subs.refractionIntensityTexture)) !== null && _a !== void 0 ? _a : undefined;
1235
+ var volumeInfo = {
1236
+ transmissionFactor: transmissionFactor,
1237
+ transmissionTexture: transmissionTexture,
1238
+ hasTextures: function () {
1239
+ return _this._hasTexturesExtension(babylonMaterial);
1240
+ },
1241
+ };
1242
+ node.extensions = node.extensions || {};
1243
+ node.extensions[NAME] = volumeInfo;
1244
+ }
1245
+ resolve(node);
1246
+ });
1247
+ };
1248
+ return KHR_materials_transmission;
1249
+ }());
1250
+
1251
+ _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_transmission(exporter); });
1252
+
1253
+
1088
1254
  /***/ }),
1089
1255
 
1090
1256
  /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_unlit.js":
@@ -1153,6 +1319,111 @@ var KHR_materials_unlit = /** @class */ (function () {
1153
1319
  _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function () { return new KHR_materials_unlit(); });
1154
1320
 
1155
1321
 
1322
+ /***/ }),
1323
+
1324
+ /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_volume.js":
1325
+ /*!*********************************************************************************!*\
1326
+ !*** ../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_materials_volume.js ***!
1327
+ \*********************************************************************************/
1328
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1329
+
1330
+ __webpack_require__.r(__webpack_exports__);
1331
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1332
+ /* harmony export */ "KHR_materials_volume": () => (/* binding */ KHR_materials_volume)
1333
+ /* harmony export */ });
1334
+ /* harmony import */ var _glTFExporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../glTFExporter */ "../../../lts/serializers/dist/glTF/2.0/glTFExporter.js");
1335
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/Maths/math.color */ "core/Maths/math.vector");
1336
+ /* harmony import */ var core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__);
1337
+
1338
+
1339
+
1340
+ var NAME = "KHR_materials_volume";
1341
+ /**
1342
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md)
1343
+ */
1344
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1345
+ var KHR_materials_volume = /** @class */ (function () {
1346
+ function KHR_materials_volume(exporter) {
1347
+ /** Name of this extension */
1348
+ this.name = NAME;
1349
+ /** Defines whether this extension is enabled */
1350
+ this.enabled = true;
1351
+ /** Defines whether this extension is required */
1352
+ this.required = false;
1353
+ this._wasUsed = false;
1354
+ this._exporter = exporter;
1355
+ }
1356
+ KHR_materials_volume.prototype.dispose = function () { };
1357
+ Object.defineProperty(KHR_materials_volume.prototype, "wasUsed", {
1358
+ /** @hidden */
1359
+ get: function () {
1360
+ return this._wasUsed;
1361
+ },
1362
+ enumerable: false,
1363
+ configurable: true
1364
+ });
1365
+ KHR_materials_volume.prototype.postExportMaterialAdditionalTextures = function (context, node, babylonMaterial) {
1366
+ var additionalTextures = [];
1367
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial) {
1368
+ if (this._isExtensionEnabled(babylonMaterial)) {
1369
+ if (babylonMaterial.subSurface.thicknessTexture) {
1370
+ additionalTextures.push(babylonMaterial.subSurface.thicknessTexture);
1371
+ }
1372
+ return additionalTextures;
1373
+ }
1374
+ }
1375
+ return additionalTextures;
1376
+ };
1377
+ KHR_materials_volume.prototype._isExtensionEnabled = function (mat) {
1378
+ // This extension must not be used on a material that also uses KHR_materials_unlit
1379
+ if (mat.unlit) {
1380
+ return false;
1381
+ }
1382
+ var subs = mat.subSurface;
1383
+ // this extension requires either the KHR_materials_transmission or KHR_materials_translucency extensions.
1384
+ if (!subs.isRefractionEnabled && !subs.isTranslucencyEnabled) {
1385
+ return false;
1386
+ }
1387
+ return ((subs.maximumThickness != undefined && subs.maximumThickness != 0) ||
1388
+ (subs.tintColorAtDistance != undefined && subs.tintColorAtDistance != Number.POSITIVE_INFINITY) ||
1389
+ (subs.tintColor != undefined && subs.tintColor != core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.Color3.White()) ||
1390
+ this._hasTexturesExtension(mat));
1391
+ };
1392
+ KHR_materials_volume.prototype._hasTexturesExtension = function (mat) {
1393
+ return mat.subSurface.thicknessTexture != null;
1394
+ };
1395
+ KHR_materials_volume.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
1396
+ var _this = this;
1397
+ return new Promise(function (resolve) {
1398
+ var _a;
1399
+ if (babylonMaterial instanceof core_Materials_PBR_pbrMaterial__WEBPACK_IMPORTED_MODULE_1__.PBRMaterial && _this._isExtensionEnabled(babylonMaterial)) {
1400
+ _this._wasUsed = true;
1401
+ var subs = babylonMaterial.subSurface;
1402
+ var thicknessFactor = subs.maximumThickness == 0 ? undefined : subs.maximumThickness;
1403
+ var thicknessTexture = (_a = _this._exporter._glTFMaterialExporter._getTextureInfo(subs.thicknessTexture)) !== null && _a !== void 0 ? _a : undefined;
1404
+ var attenuationDistance = subs.tintColorAtDistance == Number.POSITIVE_INFINITY ? undefined : subs.tintColorAtDistance;
1405
+ var attenuationColor = subs.tintColor.equalsFloats(1.0, 1.0, 1.0) ? undefined : subs.tintColor.asArray();
1406
+ var volumeInfo = {
1407
+ thicknessFactor: thicknessFactor,
1408
+ thicknessTexture: thicknessTexture,
1409
+ attenuationDistance: attenuationDistance,
1410
+ attenuationColor: attenuationColor,
1411
+ hasTextures: function () {
1412
+ return _this._hasTexturesExtension(babylonMaterial);
1413
+ },
1414
+ };
1415
+ node.extensions = node.extensions || {};
1416
+ node.extensions[NAME] = volumeInfo;
1417
+ }
1418
+ resolve(node);
1419
+ });
1420
+ };
1421
+ return KHR_materials_volume;
1422
+ }());
1423
+
1424
+ _glTFExporter__WEBPACK_IMPORTED_MODULE_0__._Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_volume(exporter); });
1425
+
1426
+
1156
1427
  /***/ }),
1157
1428
 
1158
1429
  /***/ "../../../lts/serializers/dist/glTF/2.0/Extensions/KHR_texture_transform.js":
@@ -1320,10 +1591,13 @@ __webpack_require__.r(__webpack_exports__);
1320
1591
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1321
1592
  /* harmony export */ "KHR_lights_punctual": () => (/* reexport safe */ _KHR_lights_punctual__WEBPACK_IMPORTED_MODULE_1__.KHR_lights_punctual),
1322
1593
  /* harmony export */ "KHR_materials_clearcoat": () => (/* reexport safe */ _KHR_materials_clearcoat__WEBPACK_IMPORTED_MODULE_2__.KHR_materials_clearcoat),
1594
+ /* harmony export */ "KHR_materials_ior": () => (/* reexport safe */ _KHR_materials_ior__WEBPACK_IMPORTED_MODULE_6__.KHR_materials_ior),
1323
1595
  /* harmony export */ "KHR_materials_iridescence": () => (/* reexport safe */ _KHR_materials_iridescence__WEBPACK_IMPORTED_MODULE_3__.KHR_materials_iridescence),
1324
1596
  /* harmony export */ "KHR_materials_sheen": () => (/* reexport safe */ _KHR_materials_sheen__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_sheen),
1325
- /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _KHR_materials_specular__WEBPACK_IMPORTED_MODULE_6__.KHR_materials_specular),
1597
+ /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _KHR_materials_specular__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_specular),
1598
+ /* harmony export */ "KHR_materials_transmission": () => (/* reexport safe */ _KHR_materials_transmission__WEBPACK_IMPORTED_MODULE_9__.KHR_materials_transmission),
1326
1599
  /* harmony export */ "KHR_materials_unlit": () => (/* reexport safe */ _KHR_materials_unlit__WEBPACK_IMPORTED_MODULE_5__.KHR_materials_unlit),
1600
+ /* harmony export */ "KHR_materials_volume": () => (/* reexport safe */ _KHR_materials_volume__WEBPACK_IMPORTED_MODULE_8__.KHR_materials_volume),
1327
1601
  /* harmony export */ "KHR_texture_transform": () => (/* reexport safe */ _KHR_texture_transform__WEBPACK_IMPORTED_MODULE_0__.KHR_texture_transform)
1328
1602
  /* harmony export */ });
1329
1603
  /* 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");
@@ -1332,7 +1606,13 @@ __webpack_require__.r(__webpack_exports__);
1332
1606
  /* 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");
1333
1607
  /* 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");
1334
1608
  /* 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");
1335
- /* 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");
1609
+ /* 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");
1610
+ /* 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");
1611
+ /* 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");
1612
+ /* 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");
1613
+
1614
+
1615
+
1336
1616
 
1337
1617
 
1338
1618
 
@@ -4513,7 +4793,7 @@ var _GLTFMaterialExporter = /** @class */ (function () {
4513
4793
  var glTFMaterial = { name: babylonStandardMaterial.name };
4514
4794
  if (babylonStandardMaterial.backFaceCulling != null && !babylonStandardMaterial.backFaceCulling) {
4515
4795
  if (!babylonStandardMaterial.twoSidedLighting) {
4516
- 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.");
4796
+ 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.");
4517
4797
  }
4518
4798
  glTFMaterial.doubleSided = true;
4519
4799
  }
@@ -4596,82 +4876,6 @@ var _GLTFMaterialExporter = /** @class */ (function () {
4596
4876
  });
4597
4877
  });
4598
4878
  };
4599
- /**
4600
- * Converts a Babylon PBR Metallic Roughness Material to a glTF Material
4601
- * @param babylonPBRMetalRoughMaterial BJS PBR Metallic Roughness Material
4602
- * @param mimeType mime type to use for the textures
4603
- * @param hasTextureCoords specifies if texture coordinates are present on the submesh to determine if textures should be applied
4604
- */
4605
- _GLTFMaterialExporter.prototype._convertPBRMetallicRoughnessMaterialAsync = function (babylonPBRMetalRoughMaterial, mimeType, hasTextureCoords) {
4606
- var materialMap = this._exporter._materialMap;
4607
- var materials = this._exporter._materials;
4608
- var promises = [];
4609
- var glTFPbrMetallicRoughness = {};
4610
- if (babylonPBRMetalRoughMaterial.baseColor) {
4611
- glTFPbrMetallicRoughness.baseColorFactor = [
4612
- babylonPBRMetalRoughMaterial.baseColor.r,
4613
- babylonPBRMetalRoughMaterial.baseColor.g,
4614
- babylonPBRMetalRoughMaterial.baseColor.b,
4615
- babylonPBRMetalRoughMaterial.alpha,
4616
- ];
4617
- }
4618
- if (babylonPBRMetalRoughMaterial.metallic != null && babylonPBRMetalRoughMaterial.metallic !== 1) {
4619
- glTFPbrMetallicRoughness.metallicFactor = babylonPBRMetalRoughMaterial.metallic;
4620
- }
4621
- if (babylonPBRMetalRoughMaterial.roughness != null && babylonPBRMetalRoughMaterial.roughness !== 1) {
4622
- glTFPbrMetallicRoughness.roughnessFactor = babylonPBRMetalRoughMaterial.roughness;
4623
- }
4624
- var glTFMaterial = {
4625
- name: babylonPBRMetalRoughMaterial.name,
4626
- };
4627
- if (babylonPBRMetalRoughMaterial.doubleSided) {
4628
- glTFMaterial.doubleSided = babylonPBRMetalRoughMaterial.doubleSided;
4629
- }
4630
- _GLTFMaterialExporter._SetAlphaMode(glTFMaterial, babylonPBRMetalRoughMaterial);
4631
- if (hasTextureCoords) {
4632
- if (babylonPBRMetalRoughMaterial.baseTexture != null) {
4633
- promises.push(this._exportTextureAsync(babylonPBRMetalRoughMaterial.baseTexture, mimeType).then(function (glTFTexture) {
4634
- if (glTFTexture) {
4635
- glTFPbrMetallicRoughness.baseColorTexture = glTFTexture;
4636
- }
4637
- }));
4638
- }
4639
- if (babylonPBRMetalRoughMaterial.normalTexture) {
4640
- promises.push(this._exportTextureAsync(babylonPBRMetalRoughMaterial.normalTexture, mimeType).then(function (glTFTexture) {
4641
- if (glTFTexture) {
4642
- glTFMaterial.normalTexture = glTFTexture;
4643
- if (babylonPBRMetalRoughMaterial.normalTexture.level !== 1) {
4644
- glTFMaterial.normalTexture.scale = babylonPBRMetalRoughMaterial.normalTexture.level;
4645
- }
4646
- }
4647
- }));
4648
- }
4649
- if (babylonPBRMetalRoughMaterial.occlusionTexture) {
4650
- promises.push(this._exportTextureAsync(babylonPBRMetalRoughMaterial.occlusionTexture, mimeType).then(function (glTFTexture) {
4651
- if (glTFTexture) {
4652
- glTFMaterial.occlusionTexture = glTFTexture;
4653
- if (babylonPBRMetalRoughMaterial.occlusionStrength != null) {
4654
- glTFMaterial.occlusionTexture.strength = babylonPBRMetalRoughMaterial.occlusionStrength;
4655
- }
4656
- }
4657
- }));
4658
- }
4659
- if (babylonPBRMetalRoughMaterial.emissiveTexture) {
4660
- promises.push(this._exportTextureAsync(babylonPBRMetalRoughMaterial.emissiveTexture, mimeType).then(function (glTFTexture) {
4661
- if (glTFTexture) {
4662
- glTFMaterial.emissiveTexture = glTFTexture;
4663
- }
4664
- }));
4665
- }
4666
- }
4667
- if (_GLTFMaterialExporter._FuzzyEquals(babylonPBRMetalRoughMaterial.emissiveColor, core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Color3.Black(), _GLTFMaterialExporter._Epsilon)) {
4668
- glTFMaterial.emissiveFactor = babylonPBRMetalRoughMaterial.emissiveColor.asArray();
4669
- }
4670
- glTFMaterial.pbrMetallicRoughness = glTFPbrMetallicRoughness;
4671
- materials.push(glTFMaterial);
4672
- materialMap[babylonPBRMetalRoughMaterial.uniqueId] = materials.length - 1;
4673
- return this._finishMaterial(promises, glTFMaterial, babylonPBRMetalRoughMaterial, mimeType);
4674
- };
4675
4879
  /**
4676
4880
  * Converts an image typed array buffer to a base64 image
4677
4881
  * @param buffer typed array buffer
@@ -5200,7 +5404,7 @@ var _GLTFMaterialExporter = /** @class */ (function () {
5200
5404
  }
5201
5405
  if (babylonPBRMaterial.backFaceCulling != null && !babylonPBRMaterial.backFaceCulling) {
5202
5406
  if (!babylonPBRMaterial._twoSidedLighting) {
5203
- 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.");
5407
+ 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.");
5204
5408
  }
5205
5409
  glTFMaterial.doubleSided = true;
5206
5410
  }
@@ -5725,10 +5929,13 @@ __webpack_require__.r(__webpack_exports__);
5725
5929
  /* harmony export */ "GLTFData": () => (/* reexport safe */ _glTFData__WEBPACK_IMPORTED_MODULE_1__.GLTFData),
5726
5930
  /* harmony export */ "KHR_lights_punctual": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_lights_punctual),
5727
5931
  /* harmony export */ "KHR_materials_clearcoat": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_clearcoat),
5932
+ /* harmony export */ "KHR_materials_ior": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_ior),
5728
5933
  /* harmony export */ "KHR_materials_iridescence": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_iridescence),
5729
5934
  /* harmony export */ "KHR_materials_sheen": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_sheen),
5730
5935
  /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_specular),
5936
+ /* harmony export */ "KHR_materials_transmission": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_transmission),
5731
5937
  /* harmony export */ "KHR_materials_unlit": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_unlit),
5938
+ /* harmony export */ "KHR_materials_volume": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_materials_volume),
5732
5939
  /* harmony export */ "KHR_texture_transform": () => (/* reexport safe */ _Extensions_index__WEBPACK_IMPORTED_MODULE_7__.KHR_texture_transform),
5733
5940
  /* harmony export */ "_BinaryWriter": () => (/* reexport safe */ _glTFExporter__WEBPACK_IMPORTED_MODULE_2__._BinaryWriter),
5734
5941
  /* harmony export */ "_Exporter": () => (/* reexport safe */ _glTFExporter__WEBPACK_IMPORTED_MODULE_2__._Exporter),
@@ -5811,10 +6018,13 @@ __webpack_require__.r(__webpack_exports__);
5811
6018
  /* harmony export */ "GLTFData": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.GLTFData),
5812
6019
  /* harmony export */ "KHR_lights_punctual": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_lights_punctual),
5813
6020
  /* harmony export */ "KHR_materials_clearcoat": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_clearcoat),
6021
+ /* harmony export */ "KHR_materials_ior": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_ior),
5814
6022
  /* harmony export */ "KHR_materials_iridescence": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_iridescence),
5815
6023
  /* harmony export */ "KHR_materials_sheen": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_sheen),
5816
6024
  /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_specular),
6025
+ /* harmony export */ "KHR_materials_transmission": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_transmission),
5817
6026
  /* harmony export */ "KHR_materials_unlit": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_unlit),
6027
+ /* harmony export */ "KHR_materials_volume": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_volume),
5818
6028
  /* harmony export */ "KHR_texture_transform": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__.KHR_texture_transform),
5819
6029
  /* harmony export */ "_BinaryWriter": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__._BinaryWriter),
5820
6030
  /* harmony export */ "_Exporter": () => (/* reexport safe */ _2_0_index__WEBPACK_IMPORTED_MODULE_1__._Exporter),
@@ -5845,10 +6055,13 @@ __webpack_require__.r(__webpack_exports__);
5845
6055
  /* harmony export */ "GLTFData": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.GLTFData),
5846
6056
  /* harmony export */ "KHR_lights_punctual": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_lights_punctual),
5847
6057
  /* harmony export */ "KHR_materials_clearcoat": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_clearcoat),
6058
+ /* harmony export */ "KHR_materials_ior": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_ior),
5848
6059
  /* harmony export */ "KHR_materials_iridescence": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_iridescence),
5849
6060
  /* harmony export */ "KHR_materials_sheen": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_sheen),
5850
6061
  /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_specular),
6062
+ /* harmony export */ "KHR_materials_transmission": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_transmission),
5851
6063
  /* harmony export */ "KHR_materials_unlit": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_unlit),
6064
+ /* harmony export */ "KHR_materials_volume": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_volume),
5852
6065
  /* harmony export */ "KHR_texture_transform": () => (/* reexport safe */ _glTF_index__WEBPACK_IMPORTED_MODULE_1__.KHR_texture_transform),
5853
6066
  /* harmony export */ "OBJExport": () => (/* reexport safe */ _OBJ_index__WEBPACK_IMPORTED_MODULE_0__.OBJExport),
5854
6067
  /* harmony export */ "STLExport": () => (/* reexport safe */ _stl_index__WEBPACK_IMPORTED_MODULE_2__.STLExport),
@@ -5883,10 +6096,13 @@ __webpack_require__.r(__webpack_exports__);
5883
6096
  /* harmony export */ "GLTFData": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.GLTFData),
5884
6097
  /* harmony export */ "KHR_lights_punctual": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_lights_punctual),
5885
6098
  /* harmony export */ "KHR_materials_clearcoat": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_clearcoat),
6099
+ /* harmony export */ "KHR_materials_ior": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_ior),
5886
6100
  /* harmony export */ "KHR_materials_iridescence": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_iridescence),
5887
6101
  /* harmony export */ "KHR_materials_sheen": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_sheen),
5888
6102
  /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_specular),
6103
+ /* harmony export */ "KHR_materials_transmission": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_transmission),
5889
6104
  /* harmony export */ "KHR_materials_unlit": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_unlit),
6105
+ /* harmony export */ "KHR_materials_volume": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_materials_volume),
5890
6106
  /* harmony export */ "KHR_texture_transform": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__.KHR_texture_transform),
5891
6107
  /* harmony export */ "_BinaryWriter": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__._BinaryWriter),
5892
6108
  /* harmony export */ "_Exporter": () => (/* reexport safe */ _glTF_2_0_index__WEBPACK_IMPORTED_MODULE_4__._Exporter),
@@ -6017,10 +6233,13 @@ __webpack_require__.r(__webpack_exports__);
6017
6233
  /* harmony export */ "GLTFData": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.GLTFData),
6018
6234
  /* harmony export */ "KHR_lights_punctual": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_lights_punctual),
6019
6235
  /* harmony export */ "KHR_materials_clearcoat": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_clearcoat),
6236
+ /* harmony export */ "KHR_materials_ior": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_ior),
6020
6237
  /* harmony export */ "KHR_materials_iridescence": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_iridescence),
6021
6238
  /* harmony export */ "KHR_materials_sheen": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_sheen),
6022
6239
  /* harmony export */ "KHR_materials_specular": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_specular),
6240
+ /* harmony export */ "KHR_materials_transmission": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_transmission),
6023
6241
  /* harmony export */ "KHR_materials_unlit": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_unlit),
6242
+ /* harmony export */ "KHR_materials_volume": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_materials_volume),
6024
6243
  /* harmony export */ "KHR_texture_transform": () => (/* reexport safe */ _legacy_glTF2Serializer__WEBPACK_IMPORTED_MODULE_1__.KHR_texture_transform),
6025
6244
  /* harmony export */ "OBJExport": () => (/* reexport safe */ _legacy_objSerializer__WEBPACK_IMPORTED_MODULE_2__.OBJExport),
6026
6245
  /* harmony export */ "STLExport": () => (/* reexport safe */ _legacy_stlSerializer__WEBPACK_IMPORTED_MODULE_3__.STLExport),