@babylonjs/serializers 5.1.0 → 5.2.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.
- package/glTF/2.0/Extensions/KHR_materials_iridescence.d.ts +24 -0
- package/glTF/2.0/Extensions/KHR_materials_iridescence.js +75 -0
- package/glTF/2.0/Extensions/KHR_materials_iridescence.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_specular.d.ts +26 -0
- package/glTF/2.0/Extensions/KHR_materials_specular.js +82 -0
- package/glTF/2.0/Extensions/KHR_materials_specular.js.map +1 -0
- package/glTF/2.0/Extensions/index.d.ts +2 -0
- package/glTF/2.0/Extensions/index.js +2 -0
- package/glTF/2.0/Extensions/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { IMaterial } from "babylonjs-gltf2interface";
|
|
2
|
+
import type { IGLTFExporterExtensionV2 } from "../glTFExporterExtension";
|
|
3
|
+
import { _Exporter } from "../glTFExporter";
|
|
4
|
+
import type { Material } from "@babylonjs/core/Materials/material.js";
|
|
5
|
+
import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
|
|
6
|
+
/**
|
|
7
|
+
* @hidden
|
|
8
|
+
*/
|
|
9
|
+
export declare class KHR_materials_iridescence implements IGLTFExporterExtensionV2 {
|
|
10
|
+
/** Name of this extension */
|
|
11
|
+
readonly name = "KHR_materials_iridescence";
|
|
12
|
+
/** Defines whether this extension is enabled */
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
/** Defines whether this extension is required */
|
|
15
|
+
required: boolean;
|
|
16
|
+
private _exporter;
|
|
17
|
+
private _wasUsed;
|
|
18
|
+
constructor(exporter: _Exporter);
|
|
19
|
+
dispose(): void;
|
|
20
|
+
/** @hidden */
|
|
21
|
+
get wasUsed(): boolean;
|
|
22
|
+
postExportMaterialAdditionalTextures?(context: string, node: IMaterial, babylonMaterial: Material): BaseTexture[];
|
|
23
|
+
postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { _Exporter } from "../glTFExporter.js";
|
|
2
|
+
import { PBRBaseMaterial } from "@babylonjs/core/Materials/PBR/pbrBaseMaterial.js";
|
|
3
|
+
var NAME = "KHR_materials_iridescence";
|
|
4
|
+
/**
|
|
5
|
+
* @hidden
|
|
6
|
+
*/
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
8
|
+
var KHR_materials_iridescence = /** @class */ (function () {
|
|
9
|
+
function KHR_materials_iridescence(exporter) {
|
|
10
|
+
/** Name of this extension */
|
|
11
|
+
this.name = NAME;
|
|
12
|
+
/** Defines whether this extension is enabled */
|
|
13
|
+
this.enabled = true;
|
|
14
|
+
/** Defines whether this extension is required */
|
|
15
|
+
this.required = false;
|
|
16
|
+
this._wasUsed = false;
|
|
17
|
+
this._exporter = exporter;
|
|
18
|
+
}
|
|
19
|
+
KHR_materials_iridescence.prototype.dispose = function () { };
|
|
20
|
+
Object.defineProperty(KHR_materials_iridescence.prototype, "wasUsed", {
|
|
21
|
+
/** @hidden */
|
|
22
|
+
get: function () {
|
|
23
|
+
return this._wasUsed;
|
|
24
|
+
},
|
|
25
|
+
enumerable: false,
|
|
26
|
+
configurable: true
|
|
27
|
+
});
|
|
28
|
+
KHR_materials_iridescence.prototype.postExportMaterialAdditionalTextures = function (context, node, babylonMaterial) {
|
|
29
|
+
var additionalTextures = [];
|
|
30
|
+
if (babylonMaterial instanceof PBRBaseMaterial) {
|
|
31
|
+
if (babylonMaterial.iridescence.isEnabled) {
|
|
32
|
+
if (babylonMaterial.iridescence.texture) {
|
|
33
|
+
additionalTextures.push(babylonMaterial.iridescence.texture);
|
|
34
|
+
}
|
|
35
|
+
if (babylonMaterial.iridescence.thicknessTexture && babylonMaterial.iridescence.thicknessTexture !== babylonMaterial.iridescence.texture) {
|
|
36
|
+
additionalTextures.push(babylonMaterial.iridescence.thicknessTexture);
|
|
37
|
+
}
|
|
38
|
+
return additionalTextures;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return [];
|
|
42
|
+
};
|
|
43
|
+
KHR_materials_iridescence.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
|
|
44
|
+
var _this = this;
|
|
45
|
+
return new Promise(function (resolve) {
|
|
46
|
+
if (babylonMaterial instanceof PBRBaseMaterial) {
|
|
47
|
+
if (!babylonMaterial.iridescence.isEnabled) {
|
|
48
|
+
resolve(node);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
_this._wasUsed = true;
|
|
52
|
+
node.extensions = node.extensions || {};
|
|
53
|
+
var iridescenceTextureInfo = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.iridescence.texture);
|
|
54
|
+
var iridescenceThicknessTextureInfo = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.iridescence.thicknessTexture);
|
|
55
|
+
var iridescenceInfo_1 = {
|
|
56
|
+
iridescenceFactor: babylonMaterial.iridescence.intensity,
|
|
57
|
+
iridescenceIOR: babylonMaterial.iridescence.indexOfRefraction,
|
|
58
|
+
iridescenceThicknessMinimum: babylonMaterial.iridescence.minimumThickness,
|
|
59
|
+
iridescenceThicknessMaximum: babylonMaterial.iridescence.maximumThickness,
|
|
60
|
+
iridescenceTexture: iridescenceTextureInfo !== null && iridescenceTextureInfo !== void 0 ? iridescenceTextureInfo : undefined,
|
|
61
|
+
iridescenceThicknessTexture: iridescenceThicknessTextureInfo !== null && iridescenceThicknessTextureInfo !== void 0 ? iridescenceThicknessTextureInfo : undefined,
|
|
62
|
+
hasTextures: function () {
|
|
63
|
+
return iridescenceInfo_1.iridescenceTexture !== null || iridescenceInfo_1.iridescenceThicknessTexture !== null;
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
node.extensions[NAME] = iridescenceInfo_1;
|
|
67
|
+
}
|
|
68
|
+
resolve(node);
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
return KHR_materials_iridescence;
|
|
72
|
+
}());
|
|
73
|
+
export { KHR_materials_iridescence };
|
|
74
|
+
_Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_iridescence(exporter); });
|
|
75
|
+
//# sourceMappingURL=KHR_materials_iridescence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_materials_iridescence.js","sourceRoot":"","sources":["../../../../../../../lts/serializers/generated/glTF/2.0/Extensions/KHR_materials_iridescence.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IMaterial, IKHRMaterialsIridescence } from \"babylonjs-gltf2interface\";\r\nimport type { IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\r\nimport { _Exporter } from \"../glTFExporter\";\r\nimport type { Material } from \"core/Materials/material\";\r\nimport { PBRBaseMaterial } from \"core/Materials/PBR/pbrBaseMaterial\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\n\r\nconst NAME = \"KHR_materials_iridescence\";\r\n\r\n/**\r\n * @hidden\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class KHR_materials_iridescence implements IGLTFExporterExtensionV2 {\r\n /** Name of this extension */\r\n public readonly name = NAME;\r\n\r\n /** Defines whether this extension is enabled */\r\n public enabled = true;\r\n\r\n /** Defines whether this extension is required */\r\n public required = false;\r\n\r\n private _exporter: _Exporter;\r\n\r\n private _wasUsed = false;\r\n\r\n constructor(exporter: _Exporter) {\r\n this._exporter = exporter;\r\n }\r\n\r\n public dispose() {}\r\n\r\n /** @hidden */\r\n public get wasUsed() {\r\n return this._wasUsed;\r\n }\r\n\r\n public postExportMaterialAdditionalTextures?(context: string, node: IMaterial, babylonMaterial: Material): BaseTexture[] {\r\n const additionalTextures: BaseTexture[] = [];\r\n if (babylonMaterial instanceof PBRBaseMaterial) {\r\n if (babylonMaterial.iridescence.isEnabled) {\r\n if (babylonMaterial.iridescence.texture) {\r\n additionalTextures.push(babylonMaterial.iridescence.texture);\r\n }\r\n if (babylonMaterial.iridescence.thicknessTexture && babylonMaterial.iridescence.thicknessTexture !== babylonMaterial.iridescence.texture) {\r\n additionalTextures.push(babylonMaterial.iridescence.thicknessTexture);\r\n }\r\n return additionalTextures;\r\n }\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial> {\r\n return new Promise((resolve) => {\r\n if (babylonMaterial instanceof PBRBaseMaterial) {\r\n if (!babylonMaterial.iridescence.isEnabled) {\r\n resolve(node);\r\n return;\r\n }\r\n\r\n this._wasUsed = true;\r\n\r\n node.extensions = node.extensions || {};\r\n\r\n const iridescenceTextureInfo = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.iridescence.texture);\r\n const iridescenceThicknessTextureInfo = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.iridescence.thicknessTexture);\r\n\r\n const iridescenceInfo: IKHRMaterialsIridescence = {\r\n iridescenceFactor: babylonMaterial.iridescence.intensity,\r\n iridescenceIOR: babylonMaterial.iridescence.indexOfRefraction,\r\n iridescenceThicknessMinimum: babylonMaterial.iridescence.minimumThickness,\r\n iridescenceThicknessMaximum: babylonMaterial.iridescence.maximumThickness,\r\n\r\n iridescenceTexture: iridescenceTextureInfo ?? undefined,\r\n iridescenceThicknessTexture: iridescenceThicknessTextureInfo ?? undefined,\r\n hasTextures: () => {\r\n return iridescenceInfo.iridescenceTexture !== null || iridescenceInfo.iridescenceThicknessTexture !== null;\r\n },\r\n };\r\n\r\n node.extensions[NAME] = iridescenceInfo;\r\n }\r\n resolve(node);\r\n });\r\n }\r\n}\r\n\r\n_Exporter.RegisterExtension(NAME, (exporter) => new KHR_materials_iridescence(exporter));\r\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { IMaterial } from "babylonjs-gltf2interface";
|
|
2
|
+
import type { IGLTFExporterExtensionV2 } from "../glTFExporterExtension";
|
|
3
|
+
import { _Exporter } from "../glTFExporter";
|
|
4
|
+
import type { Material } from "@babylonjs/core/Materials/material.js";
|
|
5
|
+
import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
|
|
6
|
+
/**
|
|
7
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_specular/README.md)
|
|
8
|
+
*/
|
|
9
|
+
export declare class KHR_materials_specular implements IGLTFExporterExtensionV2 {
|
|
10
|
+
/** Name of this extension */
|
|
11
|
+
readonly name = "KHR_materials_specular";
|
|
12
|
+
/** Defines whether this extension is enabled */
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
/** Defines whether this extension is required */
|
|
15
|
+
required: boolean;
|
|
16
|
+
private _exporter;
|
|
17
|
+
private _wasUsed;
|
|
18
|
+
constructor(exporter: _Exporter);
|
|
19
|
+
dispose(): void;
|
|
20
|
+
/** @hidden */
|
|
21
|
+
get wasUsed(): boolean;
|
|
22
|
+
postExportMaterialAdditionalTextures?(context: string, node: IMaterial, babylonMaterial: Material): BaseTexture[];
|
|
23
|
+
private _isExtensionEnabled;
|
|
24
|
+
private _hasTexturesExtension;
|
|
25
|
+
postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { _Exporter } from "../glTFExporter.js";
|
|
2
|
+
import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
|
|
3
|
+
var NAME = "KHR_materials_specular";
|
|
4
|
+
/**
|
|
5
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_specular/README.md)
|
|
6
|
+
*/
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
8
|
+
var KHR_materials_specular = /** @class */ (function () {
|
|
9
|
+
function KHR_materials_specular(exporter) {
|
|
10
|
+
/** Name of this extension */
|
|
11
|
+
this.name = NAME;
|
|
12
|
+
/** Defines whether this extension is enabled */
|
|
13
|
+
this.enabled = true;
|
|
14
|
+
/** Defines whether this extension is required */
|
|
15
|
+
this.required = false;
|
|
16
|
+
this._wasUsed = false;
|
|
17
|
+
this._exporter = exporter;
|
|
18
|
+
}
|
|
19
|
+
KHR_materials_specular.prototype.dispose = function () { };
|
|
20
|
+
Object.defineProperty(KHR_materials_specular.prototype, "wasUsed", {
|
|
21
|
+
/** @hidden */
|
|
22
|
+
get: function () {
|
|
23
|
+
return this._wasUsed;
|
|
24
|
+
},
|
|
25
|
+
enumerable: false,
|
|
26
|
+
configurable: true
|
|
27
|
+
});
|
|
28
|
+
KHR_materials_specular.prototype.postExportMaterialAdditionalTextures = function (context, node, babylonMaterial) {
|
|
29
|
+
var additionalTextures = [];
|
|
30
|
+
if (babylonMaterial instanceof PBRMaterial) {
|
|
31
|
+
if (this._isExtensionEnabled(babylonMaterial)) {
|
|
32
|
+
if (babylonMaterial.metallicReflectanceTexture) {
|
|
33
|
+
additionalTextures.push(babylonMaterial.metallicReflectanceTexture);
|
|
34
|
+
}
|
|
35
|
+
if (babylonMaterial.reflectanceTexture) {
|
|
36
|
+
additionalTextures.push(babylonMaterial.reflectanceTexture);
|
|
37
|
+
}
|
|
38
|
+
return additionalTextures;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return additionalTextures;
|
|
42
|
+
};
|
|
43
|
+
KHR_materials_specular.prototype._isExtensionEnabled = function (mat) {
|
|
44
|
+
return ((mat.metallicF0Factor != undefined && mat.metallicF0Factor != 1.0) ||
|
|
45
|
+
(mat.metallicReflectanceColor != undefined && !mat.metallicReflectanceColor.equalsFloats(1.0, 1.0, 1.0)) ||
|
|
46
|
+
this._hasTexturesExtension(mat));
|
|
47
|
+
};
|
|
48
|
+
KHR_materials_specular.prototype._hasTexturesExtension = function (mat) {
|
|
49
|
+
return mat.metallicReflectanceTexture != null || mat.reflectanceTexture != null;
|
|
50
|
+
};
|
|
51
|
+
KHR_materials_specular.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
|
|
52
|
+
var _this = this;
|
|
53
|
+
return new Promise(function (resolve) {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
if (babylonMaterial instanceof PBRMaterial && _this._isExtensionEnabled(babylonMaterial)) {
|
|
56
|
+
_this._wasUsed = true;
|
|
57
|
+
node.extensions = node.extensions || {};
|
|
58
|
+
var metallicReflectanceTexture = (_a = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.metallicReflectanceTexture)) !== null && _a !== void 0 ? _a : undefined;
|
|
59
|
+
var reflectanceTexture = (_b = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.reflectanceTexture)) !== null && _b !== void 0 ? _b : undefined;
|
|
60
|
+
var metallicF0Factor = babylonMaterial.metallicF0Factor == 1.0 ? undefined : babylonMaterial.metallicF0Factor;
|
|
61
|
+
var metallicReflectanceColor = babylonMaterial.metallicReflectanceColor.equalsFloats(1.0, 1.0, 1.0)
|
|
62
|
+
? undefined
|
|
63
|
+
: babylonMaterial.metallicReflectanceColor.asArray();
|
|
64
|
+
var specularInfo = {
|
|
65
|
+
specularFactor: metallicF0Factor,
|
|
66
|
+
specularTexture: metallicReflectanceTexture,
|
|
67
|
+
specularColorFactor: metallicReflectanceColor,
|
|
68
|
+
specularColorTexture: reflectanceTexture,
|
|
69
|
+
hasTextures: function () {
|
|
70
|
+
return _this._hasTexturesExtension(babylonMaterial);
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
node.extensions[NAME] = specularInfo;
|
|
74
|
+
}
|
|
75
|
+
resolve(node);
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
return KHR_materials_specular;
|
|
79
|
+
}());
|
|
80
|
+
export { KHR_materials_specular };
|
|
81
|
+
_Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_specular(exporter); });
|
|
82
|
+
//# sourceMappingURL=KHR_materials_specular.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_materials_specular.js","sourceRoot":"","sources":["../../../../../../../lts/serializers/generated/glTF/2.0/Extensions/KHR_materials_specular.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IMaterial, IKHRMaterialsSpecular } from \"babylonjs-gltf2interface\";\r\nimport type { IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\r\nimport { _Exporter } from \"../glTFExporter\";\r\nimport type { Material } from \"core/Materials/material\";\r\nimport { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\n\r\nconst NAME = \"KHR_materials_specular\";\r\n\r\n/**\r\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_specular/README.md)\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class KHR_materials_specular implements IGLTFExporterExtensionV2 {\r\n /** Name of this extension */\r\n public readonly name = NAME;\r\n\r\n /** Defines whether this extension is enabled */\r\n public enabled = true;\r\n\r\n /** Defines whether this extension is required */\r\n public required = false;\r\n\r\n private _exporter: _Exporter;\r\n\r\n private _wasUsed = false;\r\n\r\n constructor(exporter: _Exporter) {\r\n this._exporter = exporter;\r\n }\r\n\r\n public dispose() {}\r\n\r\n /** @hidden */\r\n public get wasUsed() {\r\n return this._wasUsed;\r\n }\r\n\r\n public postExportMaterialAdditionalTextures?(context: string, node: IMaterial, babylonMaterial: Material): BaseTexture[] {\r\n const additionalTextures: BaseTexture[] = [];\r\n\r\n if (babylonMaterial instanceof PBRMaterial) {\r\n if (this._isExtensionEnabled(babylonMaterial)) {\r\n if (babylonMaterial.metallicReflectanceTexture) {\r\n additionalTextures.push(babylonMaterial.metallicReflectanceTexture);\r\n }\r\n if (babylonMaterial.reflectanceTexture) {\r\n additionalTextures.push(babylonMaterial.reflectanceTexture);\r\n }\r\n return additionalTextures;\r\n }\r\n }\r\n\r\n return additionalTextures;\r\n }\r\n\r\n private _isExtensionEnabled(mat: PBRMaterial): boolean {\r\n return (\r\n (mat.metallicF0Factor != undefined && mat.metallicF0Factor != 1.0) ||\r\n (mat.metallicReflectanceColor != undefined && !mat.metallicReflectanceColor.equalsFloats(1.0, 1.0, 1.0)) ||\r\n this._hasTexturesExtension(mat)\r\n );\r\n }\r\n\r\n private _hasTexturesExtension(mat: PBRMaterial): boolean {\r\n return mat.metallicReflectanceTexture != null || mat.reflectanceTexture != null;\r\n }\r\n\r\n public postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial> {\r\n return new Promise((resolve) => {\r\n if (babylonMaterial instanceof PBRMaterial && this._isExtensionEnabled(babylonMaterial)) {\r\n this._wasUsed = true;\r\n\r\n node.extensions = node.extensions || {};\r\n\r\n const metallicReflectanceTexture = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.metallicReflectanceTexture) ?? undefined;\r\n const reflectanceTexture = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.reflectanceTexture) ?? undefined;\r\n const metallicF0Factor = babylonMaterial.metallicF0Factor == 1.0 ? undefined : babylonMaterial.metallicF0Factor;\r\n const metallicReflectanceColor = babylonMaterial.metallicReflectanceColor.equalsFloats(1.0, 1.0, 1.0)\r\n ? undefined\r\n : babylonMaterial.metallicReflectanceColor.asArray();\r\n\r\n const specularInfo: IKHRMaterialsSpecular = {\r\n specularFactor: metallicF0Factor,\r\n specularTexture: metallicReflectanceTexture,\r\n specularColorFactor: metallicReflectanceColor,\r\n specularColorTexture: reflectanceTexture,\r\n hasTextures: () => {\r\n return this._hasTexturesExtension(babylonMaterial);\r\n },\r\n };\r\n node.extensions[NAME] = specularInfo;\r\n }\r\n resolve(node);\r\n });\r\n }\r\n}\r\n\r\n_Exporter.RegisterExtension(NAME, (exporter) => new KHR_materials_specular(exporter));\r\n"]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export * from "./KHR_texture_transform";
|
|
2
2
|
export * from "./KHR_lights_punctual";
|
|
3
3
|
export * from "./KHR_materials_clearcoat";
|
|
4
|
+
export * from "./KHR_materials_iridescence";
|
|
4
5
|
export * from "./KHR_materials_sheen";
|
|
5
6
|
export * from "./KHR_materials_unlit";
|
|
7
|
+
export * from "./KHR_materials_specular";
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from "./KHR_texture_transform.js";
|
|
2
2
|
export * from "./KHR_lights_punctual.js";
|
|
3
3
|
export * from "./KHR_materials_clearcoat.js";
|
|
4
|
+
export * from "./KHR_materials_iridescence.js";
|
|
4
5
|
export * from "./KHR_materials_sheen.js";
|
|
5
6
|
export * from "./KHR_materials_unlit.js";
|
|
7
|
+
export * from "./KHR_materials_specular.js";
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../lts/serializers/generated/glTF/2.0/Extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./KHR_texture_transform\";\r\nexport * from \"./KHR_lights_punctual\";\r\nexport * from \"./KHR_materials_clearcoat\";\r\nexport * from \"./KHR_materials_sheen\";\r\nexport * from \"./KHR_materials_unlit\";\r\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../lts/serializers/generated/glTF/2.0/Extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC","sourcesContent":["export * from \"./KHR_texture_transform\";\r\nexport * from \"./KHR_lights_punctual\";\r\nexport * from \"./KHR_materials_clearcoat\";\r\nexport * from \"./KHR_materials_iridescence\";\r\nexport * from \"./KHR_materials_sheen\";\r\nexport * from \"./KHR_materials_unlit\";\r\nexport * from \"./KHR_materials_specular\";\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@babylonjs/serializers",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"module": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"prepublishOnly": "build-tools -c prepare-es6-build"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@babylonjs/core": "^5.
|
|
23
|
-
"babylonjs-gltf2interface": "^5.
|
|
22
|
+
"@babylonjs/core": "^5.2.0",
|
|
23
|
+
"babylonjs-gltf2interface": "^5.2.0",
|
|
24
24
|
"tslib": "^2.3.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|