@babylonjs/serializers 8.34.0 → 8.34.1
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_anisotropy.js +11 -5
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +8 -0
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.js +136 -13
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.js.map +1 -1
- package/glTF/2.0/Extensions/{KHR_materials_clearcoat_darkening.d.ts → KHR_materials_coat.d.ts} +10 -2
- package/glTF/2.0/Extensions/KHR_materials_coat.js +383 -0
- package/glTF/2.0/Extensions/KHR_materials_coat.js.map +1 -0
- package/glTF/2.0/Extensions/{KHR_materials_clearcoat_color.d.ts → KHR_materials_fuzz.d.ts} +13 -5
- package/glTF/2.0/Extensions/KHR_materials_fuzz.js +194 -0
- package/glTF/2.0/Extensions/KHR_materials_fuzz.js.map +1 -0
- package/glTF/2.0/Extensions/index.d.ts +2 -4
- package/glTF/2.0/Extensions/index.js +2 -4
- package/glTF/2.0/Extensions/index.js.map +1 -1
- package/package.json +3 -3
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_anisotropy.d.ts +0 -32
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_anisotropy.js +0 -152
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_anisotropy.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_color.js +0 -101
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_color.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_darkening.js +0 -70
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_darkening.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_ior.d.ts +0 -26
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_ior.js +0 -60
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_ior.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_clearcoat_color.js","sourceRoot":"","sources":["../../../../../../dev/serializers/src/glTF/2.0/Extensions/KHR_materials_clearcoat_color.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IMaterial, IKHRMaterialsClearcoatColor } from \"babylonjs-gltf2interface\";\r\nimport type { IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\r\nimport { GLTFExporter } 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\nimport { OpenPBRMaterial } from \"core/Materials/PBR/openpbrMaterial\";\r\n\r\nconst NAME = \"KHR_materials_clearcoat_color\";\r\n\r\n/**\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class KHR_materials_clearcoat_color 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: GLTFExporter;\r\n\r\n private _wasUsed = false;\r\n\r\n constructor(exporter: GLTFExporter) {\r\n this._exporter = exporter;\r\n }\r\n\r\n public dispose() {}\r\n\r\n /** @internal */\r\n public get wasUsed() {\r\n return this._wasUsed;\r\n }\r\n\r\n public async postExportMaterialAdditionalTexturesAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<BaseTexture[]> {\r\n const additionalTextures: BaseTexture[] = [];\r\n if (babylonMaterial instanceof PBRBaseMaterial) {\r\n if (babylonMaterial.clearCoat.isEnabled) {\r\n if (babylonMaterial.clearCoat.tintTexture) {\r\n additionalTextures.push(babylonMaterial.clearCoat.tintTexture);\r\n }\r\n return additionalTextures;\r\n }\r\n } else if (babylonMaterial instanceof OpenPBRMaterial) {\r\n if (babylonMaterial.coatWeight > 0) {\r\n if (babylonMaterial.coatColorTexture) {\r\n additionalTextures.push(babylonMaterial.coatColorTexture);\r\n }\r\n return additionalTextures;\r\n }\r\n }\r\n\r\n return [];\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\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.clearCoat.isEnabled) {\r\n resolve(node);\r\n return;\r\n }\r\n\r\n this._wasUsed = true;\r\n\r\n // This material must have the clearcoat extension already before\r\n // we can add the clearcoat color sub-extension\r\n const parentExt = node.extensions ? node.extensions[\"KHR_materials_clearcoat\"] : null;\r\n if (!parentExt) {\r\n resolve(node);\r\n return;\r\n }\r\n\r\n const coatColorTextureInfo = this._exporter._materialExporter.getTextureInfo(babylonMaterial.clearCoat.tintTexture);\r\n\r\n const clearCoatInfo: IKHRMaterialsClearcoatColor = {\r\n clearcoatColorFactor: babylonMaterial.clearCoat.tintColor.asArray(),\r\n clearcoatColorTexture: coatColorTextureInfo ?? undefined,\r\n };\r\n\r\n if (clearCoatInfo.clearcoatColorTexture !== null) {\r\n this._exporter._materialNeedsUVsSet.add(babylonMaterial);\r\n }\r\n\r\n parentExt.extensions = parentExt.extensions || {};\r\n parentExt.extensions[NAME] = clearCoatInfo;\r\n } else if (babylonMaterial instanceof OpenPBRMaterial) {\r\n if (babylonMaterial.coatWeight == 0.0) {\r\n resolve(node);\r\n return;\r\n }\r\n\r\n this._wasUsed = true;\r\n\r\n // This material must have the clearcoat extension already before\r\n // we can add the clearcoat color sub-extension\r\n const parentExt = node.extensions ? node.extensions[\"KHR_materials_clearcoat\"] : null;\r\n if (!parentExt) {\r\n resolve(node);\r\n return;\r\n }\r\n\r\n const coatColorTextureInfo = this._exporter._materialExporter.getTextureInfo(babylonMaterial.coatWeightTexture);\r\n const clearCoatInfo: IKHRMaterialsClearcoatColor = {\r\n clearcoatColorFactor: babylonMaterial.coatColor.asArray(),\r\n clearcoatColorTexture: coatColorTextureInfo ?? undefined,\r\n };\r\n\r\n if (clearCoatInfo.clearcoatColorTexture !== null) {\r\n this._exporter._materialNeedsUVsSet.add(babylonMaterial);\r\n }\r\n parentExt.extensions = parentExt.extensions || {};\r\n parentExt.extensions[NAME] = clearCoatInfo;\r\n }\r\n resolve(node);\r\n });\r\n }\r\n}\r\n\r\nGLTFExporter.RegisterExtension(NAME, (exporter) => new KHR_materials_clearcoat_color(exporter), 105);\r\n"]}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { GLTFExporter } from "../glTFExporter.js";
|
|
2
|
-
import { OpenPBRMaterial } from "@babylonjs/core/Materials/PBR/openpbrMaterial.js";
|
|
3
|
-
const NAME = "KHR_materials_clearcoat_darkening";
|
|
4
|
-
/**
|
|
5
|
-
* @internal
|
|
6
|
-
*/
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
8
|
-
export class KHR_materials_clearcoat_darkening {
|
|
9
|
-
constructor(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
|
-
dispose() { }
|
|
20
|
-
/** @internal */
|
|
21
|
-
get wasUsed() {
|
|
22
|
-
return this._wasUsed;
|
|
23
|
-
}
|
|
24
|
-
async postExportMaterialAdditionalTexturesAsync(context, node, babylonMaterial) {
|
|
25
|
-
const additionalTextures = [];
|
|
26
|
-
if (babylonMaterial instanceof OpenPBRMaterial) {
|
|
27
|
-
if (babylonMaterial.coatDarkening) {
|
|
28
|
-
if (babylonMaterial.coatDarkeningTexture) {
|
|
29
|
-
additionalTextures.push(babylonMaterial.coatDarkeningTexture);
|
|
30
|
-
}
|
|
31
|
-
return additionalTextures;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return [];
|
|
35
|
-
}
|
|
36
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
37
|
-
postExportMaterialAsync(context, node, babylonMaterial) {
|
|
38
|
-
return new Promise((resolve) => {
|
|
39
|
-
let coatDarkeningFactor = null;
|
|
40
|
-
let coatDarkeningTexture = null;
|
|
41
|
-
if (babylonMaterial instanceof OpenPBRMaterial) {
|
|
42
|
-
coatDarkeningFactor = babylonMaterial.coatDarkening;
|
|
43
|
-
coatDarkeningTexture = babylonMaterial.coatDarkeningTexture;
|
|
44
|
-
}
|
|
45
|
-
if (coatDarkeningFactor === null || (coatDarkeningFactor === 1.0 && coatDarkeningTexture === null)) {
|
|
46
|
-
return resolve(node);
|
|
47
|
-
}
|
|
48
|
-
// This material must have the clearcoat extension already before
|
|
49
|
-
// we can add the clearcoat darkening sub-extension
|
|
50
|
-
const parentExt = node.extensions ? node.extensions["KHR_materials_clearcoat"] : null;
|
|
51
|
-
if (!parentExt) {
|
|
52
|
-
return resolve(node);
|
|
53
|
-
}
|
|
54
|
-
this._wasUsed = true;
|
|
55
|
-
const coatDarkeningTextureInfo = this._exporter._materialExporter.getTextureInfo(coatDarkeningTexture);
|
|
56
|
-
const coatDarkeningInfo = {
|
|
57
|
-
clearcoatDarkeningFactor: coatDarkeningFactor,
|
|
58
|
-
clearcoatDarkeningTexture: coatDarkeningTextureInfo ?? undefined,
|
|
59
|
-
};
|
|
60
|
-
if (coatDarkeningInfo.clearcoatDarkeningTexture !== null) {
|
|
61
|
-
this._exporter._materialNeedsUVsSet.add(babylonMaterial);
|
|
62
|
-
}
|
|
63
|
-
parentExt.extensions = parentExt.extensions || {};
|
|
64
|
-
parentExt.extensions[NAME] = coatDarkeningInfo;
|
|
65
|
-
return resolve(node);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
GLTFExporter.RegisterExtension(NAME, (exporter) => new KHR_materials_clearcoat_darkening(exporter), 105);
|
|
70
|
-
//# sourceMappingURL=KHR_materials_clearcoat_darkening.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_clearcoat_darkening.js","sourceRoot":"","sources":["../../../../../../dev/serializers/src/glTF/2.0/Extensions/KHR_materials_clearcoat_darkening.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IMaterial, IKHRMaterialsClearcoatDarkening } from \"babylonjs-gltf2interface\";\r\nimport type { IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\r\nimport { GLTFExporter } from \"../glTFExporter\";\r\nimport type { Material } from \"core/Materials/material\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { OpenPBRMaterial } from \"core/Materials/PBR/openpbrMaterial\";\r\nimport type { Nullable } from \"core/types\";\r\n\r\nconst NAME = \"KHR_materials_clearcoat_darkening\";\r\n\r\n/**\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class KHR_materials_clearcoat_darkening 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: GLTFExporter;\r\n\r\n private _wasUsed = false;\r\n\r\n constructor(exporter: GLTFExporter) {\r\n this._exporter = exporter;\r\n }\r\n\r\n public dispose() {}\r\n\r\n /** @internal */\r\n public get wasUsed() {\r\n return this._wasUsed;\r\n }\r\n\r\n public async postExportMaterialAdditionalTexturesAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<BaseTexture[]> {\r\n const additionalTextures: BaseTexture[] = [];\r\n if (babylonMaterial instanceof OpenPBRMaterial) {\r\n if (babylonMaterial.coatDarkening) {\r\n if (babylonMaterial.coatDarkeningTexture) {\r\n additionalTextures.push(babylonMaterial.coatDarkeningTexture);\r\n }\r\n return additionalTextures;\r\n }\r\n }\r\n\r\n return [];\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n public postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial> {\r\n return new Promise((resolve) => {\r\n let coatDarkeningFactor: Nullable<number> = null;\r\n let coatDarkeningTexture: Nullable<BaseTexture> = null;\r\n if (babylonMaterial instanceof OpenPBRMaterial) {\r\n coatDarkeningFactor = babylonMaterial.coatDarkening;\r\n coatDarkeningTexture = babylonMaterial.coatDarkeningTexture;\r\n }\r\n if (coatDarkeningFactor === null || (coatDarkeningFactor === 1.0 && coatDarkeningTexture === null)) {\r\n return resolve(node);\r\n }\r\n\r\n // This material must have the clearcoat extension already before\r\n // we can add the clearcoat darkening sub-extension\r\n const parentExt = node.extensions ? node.extensions[\"KHR_materials_clearcoat\"] : null;\r\n if (!parentExt) {\r\n return resolve(node);\r\n }\r\n\r\n this._wasUsed = true;\r\n\r\n const coatDarkeningTextureInfo = this._exporter._materialExporter.getTextureInfo(coatDarkeningTexture);\r\n\r\n const coatDarkeningInfo: IKHRMaterialsClearcoatDarkening = {\r\n clearcoatDarkeningFactor: coatDarkeningFactor,\r\n clearcoatDarkeningTexture: coatDarkeningTextureInfo ?? undefined,\r\n };\r\n\r\n if (coatDarkeningInfo.clearcoatDarkeningTexture !== null) {\r\n this._exporter._materialNeedsUVsSet.add(babylonMaterial);\r\n }\r\n\r\n parentExt.extensions = parentExt.extensions || {};\r\n parentExt.extensions[NAME] = coatDarkeningInfo;\r\n\r\n return resolve(node);\r\n });\r\n }\r\n}\r\n\r\nGLTFExporter.RegisterExtension(NAME, (exporter) => new KHR_materials_clearcoat_darkening(exporter), 105);\r\n"]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { IMaterial } from "babylonjs-gltf2interface";
|
|
2
|
-
import type { IGLTFExporterExtensionV2 } from "../glTFExporterExtension.js";
|
|
3
|
-
import { GLTFExporter } from "../glTFExporter.js";
|
|
4
|
-
import type { Material } from "@babylonjs/core/Materials/material.js";
|
|
5
|
-
/**
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export declare class KHR_materials_clearcoat_ior implements IGLTFExporterExtensionV2 {
|
|
9
|
-
/** Name of this extension */
|
|
10
|
-
readonly name = "KHR_materials_clearcoat_ior";
|
|
11
|
-
/** Defines whether this extension is enabled */
|
|
12
|
-
enabled: boolean;
|
|
13
|
-
/** Defines whether this extension is required */
|
|
14
|
-
required: boolean;
|
|
15
|
-
private _exporter;
|
|
16
|
-
private _wasUsed;
|
|
17
|
-
/**
|
|
18
|
-
* @param exporter The glTF exporter
|
|
19
|
-
*/
|
|
20
|
-
constructor(exporter: GLTFExporter);
|
|
21
|
-
/** @internal */
|
|
22
|
-
dispose(): void;
|
|
23
|
-
/** @internal */
|
|
24
|
-
get wasUsed(): boolean;
|
|
25
|
-
postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
|
|
26
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { GLTFExporter } from "../glTFExporter.js";
|
|
2
|
-
import { OpenPBRMaterial } from "@babylonjs/core/Materials/PBR/openpbrMaterial.js";
|
|
3
|
-
import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
|
|
4
|
-
const NAME = "KHR_materials_clearcoat_ior";
|
|
5
|
-
/**
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
9
|
-
export class KHR_materials_clearcoat_ior {
|
|
10
|
-
/**
|
|
11
|
-
* @param exporter The glTF exporter
|
|
12
|
-
*/
|
|
13
|
-
constructor(exporter) {
|
|
14
|
-
/** Name of this extension */
|
|
15
|
-
this.name = NAME;
|
|
16
|
-
/** Defines whether this extension is enabled */
|
|
17
|
-
this.enabled = true;
|
|
18
|
-
/** Defines whether this extension is required */
|
|
19
|
-
this.required = false;
|
|
20
|
-
this._wasUsed = false;
|
|
21
|
-
this._exporter = exporter;
|
|
22
|
-
}
|
|
23
|
-
/** @internal */
|
|
24
|
-
dispose() { }
|
|
25
|
-
/** @internal */
|
|
26
|
-
get wasUsed() {
|
|
27
|
-
return this._wasUsed;
|
|
28
|
-
}
|
|
29
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
30
|
-
postExportMaterialAsync(context, node, babylonMaterial) {
|
|
31
|
-
return new Promise((resolve) => {
|
|
32
|
-
let coatIor = null;
|
|
33
|
-
if (babylonMaterial instanceof OpenPBRMaterial) {
|
|
34
|
-
coatIor = babylonMaterial.coatIor;
|
|
35
|
-
}
|
|
36
|
-
else if (babylonMaterial instanceof PBRMaterial) {
|
|
37
|
-
coatIor = babylonMaterial.clearCoat.indexOfRefraction;
|
|
38
|
-
}
|
|
39
|
-
if (coatIor === null || coatIor === 1.5) {
|
|
40
|
-
return resolve(node);
|
|
41
|
-
}
|
|
42
|
-
// This material must have the clearcoat extension already before
|
|
43
|
-
// we can add the clearcoat IOR sub-extension
|
|
44
|
-
const parentExt = node.extensions ? node.extensions["KHR_materials_clearcoat"] : null;
|
|
45
|
-
if (!parentExt) {
|
|
46
|
-
return resolve(node);
|
|
47
|
-
}
|
|
48
|
-
this._wasUsed = true;
|
|
49
|
-
const coatIorInfo = {
|
|
50
|
-
clearcoatIor: coatIor,
|
|
51
|
-
};
|
|
52
|
-
this._exporter;
|
|
53
|
-
parentExt.extensions = parentExt.extensions || {};
|
|
54
|
-
parentExt.extensions[NAME] = coatIorInfo;
|
|
55
|
-
return resolve(node);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
GLTFExporter.RegisterExtension(NAME, (exporter) => new KHR_materials_clearcoat_ior(exporter), 105);
|
|
60
|
-
//# sourceMappingURL=KHR_materials_clearcoat_ior.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_clearcoat_ior.js","sourceRoot":"","sources":["../../../../../../dev/serializers/src/glTF/2.0/Extensions/KHR_materials_clearcoat_ior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,yDAA2C;AACrE,OAAO,EAAE,WAAW,EAAE,qDAAuC;AAG7D,MAAM,IAAI,GAAG,6BAA6B,CAAC;AAE3C;;GAEG;AACH,gEAAgE;AAChE,MAAM,OAAO,2BAA2B;IAcpC;;OAEG;IACH,YAAY,QAAsB;QAhBlC,6BAA6B;QACb,SAAI,GAAG,IAAI,CAAC;QAE5B,gDAAgD;QACzC,YAAO,GAAG,IAAI,CAAC;QAEtB,iDAAiD;QAC1C,aAAQ,GAAG,KAAK,CAAC;QAIhB,aAAQ,GAAG,KAAK,CAAC;QAMrB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,gBAAgB;IACT,OAAO,KAAI,CAAC;IAEnB,gBAAgB;IAChB,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,gDAAgD;IACzC,uBAAuB,CAAE,OAAe,EAAE,IAAe,EAAE,eAAyB;QACvF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,OAAO,GAAqB,IAAI,CAAC;YACrC,IAAI,eAAe,YAAY,eAAe,EAAE,CAAC;gBAC7C,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;YACtC,CAAC;iBAAM,IAAI,eAAe,YAAY,WAAW,EAAE,CAAC;gBAChD,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,iBAAiB,CAAC;YAC1D,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,iEAAiE;YACjE,6CAA6C;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,MAAM,WAAW,GAA8B;gBAC3C,YAAY,EAAE,OAAO;aACxB,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC;YAEf,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;YAClD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;YAEzC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,2BAA2B,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC","sourcesContent":["import type { IMaterial, IKHRMaterialsClearcoatIor } from \"babylonjs-gltf2interface\";\r\nimport type { IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\r\nimport { GLTFExporter } from \"../glTFExporter\";\r\nimport type { Material } from \"core/Materials/material\";\r\nimport { OpenPBRMaterial } from \"core/Materials/PBR/openpbrMaterial\";\r\nimport { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\r\nimport type { Nullable } from \"core/types\";\r\n\r\nconst NAME = \"KHR_materials_clearcoat_ior\";\r\n\r\n/**\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class KHR_materials_clearcoat_ior 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: GLTFExporter;\r\n\r\n private _wasUsed = false;\r\n\r\n /**\r\n * @param exporter The glTF exporter\r\n */\r\n constructor(exporter: GLTFExporter) {\r\n this._exporter = exporter;\r\n }\r\n\r\n /** @internal */\r\n public dispose() {}\r\n\r\n /** @internal */\r\n public get wasUsed() {\r\n return this._wasUsed;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n public postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial> {\r\n return new Promise((resolve) => {\r\n let coatIor: Nullable<number> = null;\r\n if (babylonMaterial instanceof OpenPBRMaterial) {\r\n coatIor = babylonMaterial.coatIor;\r\n } else if (babylonMaterial instanceof PBRMaterial) {\r\n coatIor = babylonMaterial.clearCoat.indexOfRefraction;\r\n }\r\n if (coatIor === null || coatIor === 1.5) {\r\n return resolve(node);\r\n }\r\n\r\n // This material must have the clearcoat extension already before\r\n // we can add the clearcoat IOR sub-extension\r\n const parentExt = node.extensions ? node.extensions[\"KHR_materials_clearcoat\"] : null;\r\n if (!parentExt) {\r\n return resolve(node);\r\n }\r\n\r\n this._wasUsed = true;\r\n\r\n const coatIorInfo: IKHRMaterialsClearcoatIor = {\r\n clearcoatIor: coatIor,\r\n };\r\n\r\n this._exporter;\r\n\r\n parentExt.extensions = parentExt.extensions || {};\r\n parentExt.extensions[NAME] = coatIorInfo;\r\n\r\n return resolve(node);\r\n });\r\n }\r\n}\r\n\r\nGLTFExporter.RegisterExtension(NAME, (exporter) => new KHR_materials_clearcoat_ior(exporter), 105);\r\n"]}
|