@babylonjs/serializers 5.0.0-beta.6 → 5.0.0-beta.8-snapshot
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/package.json +20 -105
- package/OBJ/index.d.ts +0 -1
- package/OBJ/index.js +0 -2
- package/OBJ/index.js.map +0 -1
- package/OBJ/objSerializer.d.ts +0 -21
- package/OBJ/objSerializer.js +0 -160
- package/OBJ/objSerializer.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +0 -38
- package/glTF/2.0/Extensions/KHR_lights_punctual.js +0 -174
- package/glTF/2.0/Extensions/KHR_lights_punctual.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +0 -24
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.js +0 -91
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +0 -24
- package/glTF/2.0/Extensions/KHR_materials_sheen.js +0 -74
- package/glTF/2.0/Extensions/KHR_materials_sheen.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +0 -21
- package/glTF/2.0/Extensions/KHR_materials_unlit.js +0 -52
- package/glTF/2.0/Extensions/KHR_materials_unlit.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_texture_transform.d.ts +0 -34
- package/glTF/2.0/Extensions/KHR_texture_transform.js +0 -137
- package/glTF/2.0/Extensions/KHR_texture_transform.js.map +0 -1
- package/glTF/2.0/Extensions/index.d.ts +0 -5
- package/glTF/2.0/Extensions/index.js +0 -6
- package/glTF/2.0/Extensions/index.js.map +0 -1
- package/glTF/2.0/glTFAnimation.d.ts +0 -200
- package/glTF/2.0/glTFAnimation.js +0 -840
- package/glTF/2.0/glTFAnimation.js.map +0 -1
- package/glTF/2.0/glTFData.d.ts +0 -19
- package/glTF/2.0/glTFData.js +0 -53
- package/glTF/2.0/glTFData.js.map +0 -1
- package/glTF/2.0/glTFExporter.d.ts +0 -445
- package/glTF/2.0/glTFExporter.js +0 -1943
- package/glTF/2.0/glTFExporter.js.map +0 -1
- package/glTF/2.0/glTFExporterExtension.d.ts +0 -74
- package/glTF/2.0/glTFExporterExtension.js +0 -3
- package/glTF/2.0/glTFExporterExtension.js.map +0 -1
- package/glTF/2.0/glTFMaterialExporter.d.ts +0 -230
- package/glTF/2.0/glTFMaterialExporter.js +0 -1143
- package/glTF/2.0/glTFMaterialExporter.js.map +0 -1
- package/glTF/2.0/glTFSerializer.d.ts +0 -60
- package/glTF/2.0/glTFSerializer.js +0 -63
- package/glTF/2.0/glTFSerializer.js.map +0 -1
- package/glTF/2.0/glTFUtilities.d.ts +0 -96
- package/glTF/2.0/glTFUtilities.js +0 -196
- package/glTF/2.0/glTFUtilities.js.map +0 -1
- package/glTF/2.0/index.d.ts +0 -8
- package/glTF/2.0/index.js +0 -9
- package/glTF/2.0/index.js.map +0 -1
- package/glTF/2.0/shaders/textureTransform.fragment.d.ts +0 -5
- package/glTF/2.0/shaders/textureTransform.fragment.js +0 -7
- package/glTF/2.0/shaders/textureTransform.fragment.js.map +0 -1
- package/glTF/glTFFileExporter.d.ts +0 -20
- package/glTF/glTFFileExporter.js +0 -3
- package/glTF/glTFFileExporter.js.map +0 -1
- package/glTF/index.d.ts +0 -2
- package/glTF/index.js +0 -3
- package/glTF/index.js.map +0 -1
- package/index.d.ts +0 -3
- package/index.js.map +0 -1
- package/legacy/legacy-glTF2Serializer.d.ts +0 -2
- package/legacy/legacy-glTF2Serializer.js +0 -44
- package/legacy/legacy-glTF2Serializer.js.map +0 -1
- package/legacy/legacy-objSerializer.d.ts +0 -1
- package/legacy/legacy-objSerializer.js +0 -13
- package/legacy/legacy-objSerializer.js.map +0 -1
- package/legacy/legacy-stlSerializer.d.ts +0 -1
- package/legacy/legacy-stlSerializer.js +0 -13
- package/legacy/legacy-stlSerializer.js.map +0 -1
- package/legacy/legacy.d.ts +0 -4
- package/legacy/legacy.js +0 -5
- package/legacy/legacy.js.map +0 -1
- package/readme.md +0 -29
- package/stl/index.d.ts +0 -1
- package/stl/index.js +0 -2
- package/stl/index.js.map +0 -1
- package/stl/stlSerializer.d.ts +0 -17
- package/stl/stlSerializer.js +0 -108
- package/stl/stlSerializer.js.map +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { IMaterial } from "babylonjs-gltf2interface";
|
|
2
|
-
import { IGLTFExporterExtensionV2 } from "../glTFExporterExtension";
|
|
3
|
-
import { _Exporter } from "../glTFExporter";
|
|
4
|
-
import { Material } from "@babylonjs/core/Materials/material";
|
|
5
|
-
import { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture";
|
|
6
|
-
/**
|
|
7
|
-
* @hidden
|
|
8
|
-
*/
|
|
9
|
-
export declare class KHR_materials_clearcoat implements IGLTFExporterExtensionV2 {
|
|
10
|
-
/** Name of this extension */
|
|
11
|
-
readonly name = "KHR_materials_clearcoat";
|
|
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
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { _Exporter } from "../glTFExporter.js";
|
|
2
|
-
import { PBRBaseMaterial } from "@babylonjs/core/Materials/PBR/pbrBaseMaterial.js";
|
|
3
|
-
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
4
|
-
var NAME = "KHR_materials_clearcoat";
|
|
5
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
var KHR_materials_clearcoat = /** @class */ (function () {
|
|
9
|
-
function KHR_materials_clearcoat(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_clearcoat.prototype.dispose = function () {
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(KHR_materials_clearcoat.prototype, "wasUsed", {
|
|
22
|
-
/** @hidden */
|
|
23
|
-
get: function () {
|
|
24
|
-
return this._wasUsed;
|
|
25
|
-
},
|
|
26
|
-
enumerable: false,
|
|
27
|
-
configurable: true
|
|
28
|
-
});
|
|
29
|
-
KHR_materials_clearcoat.prototype.postExportMaterialAdditionalTextures = function (context, node, babylonMaterial) {
|
|
30
|
-
var additionalTextures = [];
|
|
31
|
-
if (babylonMaterial instanceof PBRBaseMaterial) {
|
|
32
|
-
if (babylonMaterial.clearCoat.isEnabled) {
|
|
33
|
-
if (babylonMaterial.clearCoat.texture) {
|
|
34
|
-
additionalTextures.push(babylonMaterial.clearCoat.texture);
|
|
35
|
-
}
|
|
36
|
-
if (!babylonMaterial.clearCoat.useRoughnessFromMainTexture && babylonMaterial.clearCoat.textureRoughness) {
|
|
37
|
-
additionalTextures.push(babylonMaterial.clearCoat.textureRoughness);
|
|
38
|
-
}
|
|
39
|
-
if (babylonMaterial.clearCoat.bumpTexture) {
|
|
40
|
-
additionalTextures.push(babylonMaterial.clearCoat.bumpTexture);
|
|
41
|
-
}
|
|
42
|
-
return additionalTextures;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return [];
|
|
46
|
-
};
|
|
47
|
-
KHR_materials_clearcoat.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
|
|
48
|
-
var _this = this;
|
|
49
|
-
return new Promise(function (resolve, reject) {
|
|
50
|
-
if (babylonMaterial instanceof PBRBaseMaterial) {
|
|
51
|
-
if (!babylonMaterial.clearCoat.isEnabled) {
|
|
52
|
-
resolve(node);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
_this._wasUsed = true;
|
|
56
|
-
node.extensions = node.extensions || {};
|
|
57
|
-
var clearCoatTextureInfo = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.clearCoat.texture);
|
|
58
|
-
var clearCoatTextureRoughnessInfo = void 0;
|
|
59
|
-
if (babylonMaterial.clearCoat.useRoughnessFromMainTexture) {
|
|
60
|
-
clearCoatTextureRoughnessInfo = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.clearCoat.texture);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
clearCoatTextureRoughnessInfo = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.clearCoat.textureRoughness);
|
|
64
|
-
}
|
|
65
|
-
if (babylonMaterial.clearCoat.isTintEnabled) {
|
|
66
|
-
Tools.Warn("Clear Color tint is not supported for glTF export. Ignoring for: ".concat(babylonMaterial.name));
|
|
67
|
-
}
|
|
68
|
-
if (babylonMaterial.clearCoat.remapF0OnInterfaceChange) {
|
|
69
|
-
Tools.Warn("Clear Color F0 remapping is not supported for glTF export. Ignoring for: ".concat(babylonMaterial.name));
|
|
70
|
-
}
|
|
71
|
-
var clearCoatNormalTextureInfo = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.clearCoat.bumpTexture);
|
|
72
|
-
var clearCoatInfo_1 = {
|
|
73
|
-
clearcoatFactor: babylonMaterial.clearCoat.intensity,
|
|
74
|
-
clearcoatTexture: clearCoatTextureInfo !== null && clearCoatTextureInfo !== void 0 ? clearCoatTextureInfo : undefined,
|
|
75
|
-
clearcoatRoughnessFactor: babylonMaterial.clearCoat.roughness,
|
|
76
|
-
clearcoatRoughnessTexture: clearCoatTextureRoughnessInfo !== null && clearCoatTextureRoughnessInfo !== void 0 ? clearCoatTextureRoughnessInfo : undefined,
|
|
77
|
-
clearcoatNormalTexture: clearCoatNormalTextureInfo !== null && clearCoatNormalTextureInfo !== void 0 ? clearCoatNormalTextureInfo : undefined,
|
|
78
|
-
hasTextures: function () {
|
|
79
|
-
return clearCoatInfo_1.clearcoatTexture !== null || clearCoatInfo_1.clearcoatRoughnessTexture !== null || clearCoatInfo_1.clearcoatRoughnessTexture !== null;
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
node.extensions[NAME] = clearCoatInfo_1;
|
|
83
|
-
}
|
|
84
|
-
resolve(node);
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
return KHR_materials_clearcoat;
|
|
88
|
-
}());
|
|
89
|
-
export { KHR_materials_clearcoat };
|
|
90
|
-
_Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_clearcoat(exporter); });
|
|
91
|
-
//# sourceMappingURL=KHR_materials_clearcoat.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_clearcoat.js","sourceRoot":"","sources":["../../../../../sourceES6/serializers/src/glTF/2.0/Extensions/KHR_materials_clearcoat.ts"],"names":[],"mappings":"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","sourcesContent":["import { IMaterial } from \"babylonjs-gltf2interface\";\r\nimport { IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\r\nimport { _Exporter } from \"../glTFExporter\";\r\nimport { Material } from \"@babylonjs/core/Materials/material\";\r\nimport { PBRBaseMaterial } from \"@babylonjs/core/Materials/PBR/pbrBaseMaterial\";\r\nimport { BaseTexture } from \"@babylonjs/core/Materials/Textures/baseTexture\";\r\nimport { IKHRMaterialsClearcoat } from \"babylonjs-gltf2interface\";\r\nimport { Tools } from \"@babylonjs/core/Misc/tools\";\r\n\r\nconst NAME = \"KHR_materials_clearcoat\";\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport class KHR_materials_clearcoat 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\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.clearCoat.isEnabled) {\r\n if (babylonMaterial.clearCoat.texture) {\r\n additionalTextures.push(babylonMaterial.clearCoat.texture);\r\n }\r\n if (!babylonMaterial.clearCoat.useRoughnessFromMainTexture && babylonMaterial.clearCoat.textureRoughness) {\r\n additionalTextures.push(babylonMaterial.clearCoat.textureRoughness);\r\n }\r\n if (babylonMaterial.clearCoat.bumpTexture) {\r\n additionalTextures.push(babylonMaterial.clearCoat.bumpTexture);\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, reject) => {\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 node.extensions = node.extensions || {};\r\n\r\n const clearCoatTextureInfo = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.clearCoat.texture);\r\n let clearCoatTextureRoughnessInfo;\r\n if (babylonMaterial.clearCoat.useRoughnessFromMainTexture) {\r\n clearCoatTextureRoughnessInfo = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.clearCoat.texture);\r\n } else {\r\n clearCoatTextureRoughnessInfo = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.clearCoat.textureRoughness);\r\n }\r\n\r\n if (babylonMaterial.clearCoat.isTintEnabled) {\r\n Tools.Warn(`Clear Color tint is not supported for glTF export. Ignoring for: ${babylonMaterial.name}`);\r\n }\r\n\r\n if (babylonMaterial.clearCoat.remapF0OnInterfaceChange) {\r\n Tools.Warn(`Clear Color F0 remapping is not supported for glTF export. Ignoring for: ${babylonMaterial.name}`);\r\n }\r\n\r\n const clearCoatNormalTextureInfo = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.clearCoat.bumpTexture);\r\n\r\n const clearCoatInfo: IKHRMaterialsClearcoat = {\r\n clearcoatFactor: babylonMaterial.clearCoat.intensity,\r\n clearcoatTexture: clearCoatTextureInfo ?? undefined,\r\n clearcoatRoughnessFactor: babylonMaterial.clearCoat.roughness,\r\n clearcoatRoughnessTexture: clearCoatTextureRoughnessInfo ?? undefined,\r\n clearcoatNormalTexture: clearCoatNormalTextureInfo ?? undefined,\r\n hasTextures: () => {\r\n return clearCoatInfo.clearcoatTexture !== null || clearCoatInfo.clearcoatRoughnessTexture !== null || clearCoatInfo.clearcoatRoughnessTexture !== null;\r\n }\r\n };\r\n\r\n node.extensions[NAME] = clearCoatInfo;\r\n }\r\n resolve(node);\r\n });\r\n }\r\n}\r\n\r\n_Exporter.RegisterExtension(NAME, (exporter) => new KHR_materials_clearcoat(exporter));\r\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { IMaterial } from "babylonjs-gltf2interface";
|
|
2
|
-
import { IGLTFExporterExtensionV2 } from "../glTFExporterExtension";
|
|
3
|
-
import { _Exporter } from "../glTFExporter";
|
|
4
|
-
import { Material } from "@babylonjs/core/Materials/material";
|
|
5
|
-
import { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture";
|
|
6
|
-
/**
|
|
7
|
-
* @hidden
|
|
8
|
-
*/
|
|
9
|
-
export declare class KHR_materials_sheen implements IGLTFExporterExtensionV2 {
|
|
10
|
-
/** Name of this extension */
|
|
11
|
-
readonly name = "KHR_materials_sheen";
|
|
12
|
-
/** Defines whether this extension is enabled */
|
|
13
|
-
enabled: boolean;
|
|
14
|
-
/** Defines whether this extension is required */
|
|
15
|
-
required: boolean;
|
|
16
|
-
private _wasUsed;
|
|
17
|
-
private _exporter;
|
|
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
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { _Exporter } from "../glTFExporter.js";
|
|
2
|
-
import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
|
|
3
|
-
var NAME = "KHR_materials_sheen";
|
|
4
|
-
/**
|
|
5
|
-
* @hidden
|
|
6
|
-
*/
|
|
7
|
-
var KHR_materials_sheen = /** @class */ (function () {
|
|
8
|
-
function KHR_materials_sheen(exporter) {
|
|
9
|
-
/** Name of this extension */
|
|
10
|
-
this.name = NAME;
|
|
11
|
-
/** Defines whether this extension is enabled */
|
|
12
|
-
this.enabled = true;
|
|
13
|
-
/** Defines whether this extension is required */
|
|
14
|
-
this.required = false;
|
|
15
|
-
this._wasUsed = false;
|
|
16
|
-
this._exporter = exporter;
|
|
17
|
-
}
|
|
18
|
-
KHR_materials_sheen.prototype.dispose = function () {
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(KHR_materials_sheen.prototype, "wasUsed", {
|
|
21
|
-
/** @hidden */
|
|
22
|
-
get: function () {
|
|
23
|
-
return this._wasUsed;
|
|
24
|
-
},
|
|
25
|
-
enumerable: false,
|
|
26
|
-
configurable: true
|
|
27
|
-
});
|
|
28
|
-
KHR_materials_sheen.prototype.postExportMaterialAdditionalTextures = function (context, node, babylonMaterial) {
|
|
29
|
-
if (babylonMaterial instanceof PBRMaterial) {
|
|
30
|
-
if (babylonMaterial.sheen.isEnabled && babylonMaterial.sheen.texture) {
|
|
31
|
-
return [babylonMaterial.sheen.texture];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return [];
|
|
35
|
-
};
|
|
36
|
-
KHR_materials_sheen.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
|
|
37
|
-
var _this = this;
|
|
38
|
-
return new Promise(function (resolve, reject) {
|
|
39
|
-
var _a, _b, _c, _d;
|
|
40
|
-
if (babylonMaterial instanceof PBRMaterial) {
|
|
41
|
-
if (!babylonMaterial.sheen.isEnabled) {
|
|
42
|
-
resolve(node);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
_this._wasUsed = true;
|
|
46
|
-
if (node.extensions == null) {
|
|
47
|
-
node.extensions = {};
|
|
48
|
-
}
|
|
49
|
-
var sheenInfo_1 = {
|
|
50
|
-
sheenColorFactor: babylonMaterial.sheen.color.asArray(),
|
|
51
|
-
sheenRoughnessFactor: (_a = babylonMaterial.sheen.roughness) !== null && _a !== void 0 ? _a : 0,
|
|
52
|
-
hasTextures: function () {
|
|
53
|
-
return sheenInfo_1.sheenColorTexture !== null || sheenInfo_1.sheenRoughnessTexture !== null;
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
if (babylonMaterial.sheen.texture) {
|
|
57
|
-
sheenInfo_1.sheenColorTexture = (_b = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.sheen.texture)) !== null && _b !== void 0 ? _b : undefined;
|
|
58
|
-
}
|
|
59
|
-
if (babylonMaterial.sheen.textureRoughness && !babylonMaterial.sheen.useRoughnessFromMainTexture) {
|
|
60
|
-
sheenInfo_1.sheenRoughnessTexture = (_c = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.sheen.textureRoughness)) !== null && _c !== void 0 ? _c : undefined;
|
|
61
|
-
}
|
|
62
|
-
else if (babylonMaterial.sheen.texture && babylonMaterial.sheen.useRoughnessFromMainTexture) {
|
|
63
|
-
sheenInfo_1.sheenRoughnessTexture = (_d = _this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.sheen.texture)) !== null && _d !== void 0 ? _d : undefined;
|
|
64
|
-
}
|
|
65
|
-
node.extensions[NAME] = sheenInfo_1;
|
|
66
|
-
}
|
|
67
|
-
resolve(node);
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
return KHR_materials_sheen;
|
|
71
|
-
}());
|
|
72
|
-
export { KHR_materials_sheen };
|
|
73
|
-
_Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_sheen(exporter); });
|
|
74
|
-
//# sourceMappingURL=KHR_materials_sheen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_sheen.js","sourceRoot":"","sources":["../../../../../sourceES6/serializers/src/glTF/2.0/Extensions/KHR_materials_sheen.ts"],"names":[],"mappings":"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","sourcesContent":["import { IMaterial } from \"babylonjs-gltf2interface\";\r\nimport { IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\r\nimport { _Exporter } from \"../glTFExporter\";\r\nimport { Material } from \"@babylonjs/core/Materials/material\";\r\nimport { PBRMaterial } from \"@babylonjs/core/Materials/PBR/pbrMaterial\";\r\nimport { BaseTexture } from \"@babylonjs/core/Materials/Textures/baseTexture\";\r\nimport { IKHRMaterialsSheen } from \"babylonjs-gltf2interface\";\r\n\r\nconst NAME = \"KHR_materials_sheen\";\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport class KHR_materials_sheen 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 _wasUsed = false;\r\n\r\n private _exporter: _Exporter;\r\n\r\n constructor(exporter: _Exporter) {\r\n this._exporter = exporter;\r\n }\r\n\r\n public dispose() {\r\n }\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 if (babylonMaterial instanceof PBRMaterial) {\r\n if (babylonMaterial.sheen.isEnabled && babylonMaterial.sheen.texture) {\r\n return [babylonMaterial.sheen.texture];\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, reject) => {\r\n if (babylonMaterial instanceof PBRMaterial) {\r\n if (!babylonMaterial.sheen.isEnabled) {\r\n resolve(node);\r\n return;\r\n }\r\n\r\n this._wasUsed = true;\r\n\r\n if (node.extensions == null) {\r\n node.extensions = {};\r\n }\r\n const sheenInfo: IKHRMaterialsSheen = {\r\n sheenColorFactor: babylonMaterial.sheen.color.asArray(),\r\n sheenRoughnessFactor: babylonMaterial.sheen.roughness ?? 0,\r\n hasTextures: () => {\r\n return sheenInfo.sheenColorTexture !== null || sheenInfo.sheenRoughnessTexture !== null;\r\n }\r\n };\r\n\r\n if (babylonMaterial.sheen.texture) {\r\n sheenInfo.sheenColorTexture = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.sheen.texture) ?? undefined;\r\n }\r\n\r\n if (babylonMaterial.sheen.textureRoughness && !babylonMaterial.sheen.useRoughnessFromMainTexture) {\r\n sheenInfo.sheenRoughnessTexture = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.sheen.textureRoughness) ?? undefined;\r\n } else if (babylonMaterial.sheen.texture && babylonMaterial.sheen.useRoughnessFromMainTexture) {\r\n sheenInfo.sheenRoughnessTexture = this._exporter._glTFMaterialExporter._getTextureInfo(babylonMaterial.sheen.texture) ?? undefined;\r\n }\r\n\r\n node.extensions[NAME] = sheenInfo;\r\n }\r\n resolve(node);\r\n });\r\n }\r\n}\r\n\r\n_Exporter.RegisterExtension(NAME, (exporter) => new KHR_materials_sheen(exporter));"]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { IMaterial } from "babylonjs-gltf2interface";
|
|
2
|
-
import { IGLTFExporterExtensionV2 } from "../glTFExporterExtension";
|
|
3
|
-
import { _Exporter } from "../glTFExporter";
|
|
4
|
-
import { Material } from '@babylonjs/core/Materials/material';
|
|
5
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export declare class KHR_materials_unlit implements IGLTFExporterExtensionV2 {
|
|
9
|
-
/** Name of this extension */
|
|
10
|
-
readonly name = "KHR_materials_unlit";
|
|
11
|
-
/** Defines whether this extension is enabled */
|
|
12
|
-
enabled: boolean;
|
|
13
|
-
/** Defines whether this extension is required */
|
|
14
|
-
required: boolean;
|
|
15
|
-
private _wasUsed;
|
|
16
|
-
constructor(exporter: _Exporter);
|
|
17
|
-
/** @hidden */
|
|
18
|
-
get wasUsed(): boolean;
|
|
19
|
-
dispose(): void;
|
|
20
|
-
postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
|
|
21
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { _Exporter } from "../glTFExporter.js";
|
|
2
|
-
import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial.js';
|
|
3
|
-
import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial.js';
|
|
4
|
-
var NAME = "KHR_materials_unlit";
|
|
5
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
var KHR_materials_unlit = /** @class */ (function () {
|
|
9
|
-
function KHR_materials_unlit(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
|
-
}
|
|
18
|
-
Object.defineProperty(KHR_materials_unlit.prototype, "wasUsed", {
|
|
19
|
-
/** @hidden */
|
|
20
|
-
get: function () {
|
|
21
|
-
return this._wasUsed;
|
|
22
|
-
},
|
|
23
|
-
enumerable: false,
|
|
24
|
-
configurable: true
|
|
25
|
-
});
|
|
26
|
-
KHR_materials_unlit.prototype.dispose = function () {
|
|
27
|
-
};
|
|
28
|
-
KHR_materials_unlit.prototype.postExportMaterialAsync = function (context, node, babylonMaterial) {
|
|
29
|
-
var _this = this;
|
|
30
|
-
return new Promise(function (resolve, reject) {
|
|
31
|
-
var unlitMaterial = false;
|
|
32
|
-
if (babylonMaterial instanceof PBRMaterial) {
|
|
33
|
-
unlitMaterial = babylonMaterial.unlit;
|
|
34
|
-
}
|
|
35
|
-
else if (babylonMaterial instanceof StandardMaterial) {
|
|
36
|
-
unlitMaterial = babylonMaterial.disableLighting;
|
|
37
|
-
}
|
|
38
|
-
if (unlitMaterial) {
|
|
39
|
-
_this._wasUsed = true;
|
|
40
|
-
if (node.extensions == null) {
|
|
41
|
-
node.extensions = {};
|
|
42
|
-
}
|
|
43
|
-
node.extensions[NAME] = {};
|
|
44
|
-
}
|
|
45
|
-
resolve(node);
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
return KHR_materials_unlit;
|
|
49
|
-
}());
|
|
50
|
-
export { KHR_materials_unlit };
|
|
51
|
-
_Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_materials_unlit(exporter); });
|
|
52
|
-
//# sourceMappingURL=KHR_materials_unlit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_unlit.js","sourceRoot":"","sources":["../../../../../sourceES6/serializers/src/glTF/2.0/Extensions/KHR_materials_unlit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE9E,IAAM,IAAI,GAAG,qBAAqB,CAAC;AAEnC;;GAEG;AACH;IAYI,6BAAY,QAAmB;QAX/B,6BAA6B;QACb,SAAI,GAAG,IAAI,CAAC;QAE5B,gDAAgD;QACzC,YAAO,GAAG,IAAI,CAAC;QAEtB,iDAAiD;QAC1C,aAAQ,GAAG,KAAK,CAAC;QAEhB,aAAQ,GAAG,KAAK,CAAC;IAGzB,CAAC;IAGD,sBAAW,wCAAO;QADlB,cAAc;aACd;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAEM,qCAAO,GAAd;IACA,CAAC;IAEM,qDAAuB,GAA9B,UAAgC,OAAe,EAAE,IAAe,EAAE,eAAyB;QAA3F,iBAsBC;QArBG,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,IAAI,eAAe,YAAY,WAAW,EAAE;gBACxC,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC;aACzC;iBAAM,IAAI,eAAe,YAAY,gBAAgB,EAAE;gBACpD,aAAa,GAAG,eAAe,CAAC,eAAe,CAAC;aACnD;YAED,IAAI,aAAa,EAAE;gBACf,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAErB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;oBACzB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;iBACxB;gBAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aAC9B;YAED,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IACL,0BAAC;AAAD,CAAC,AA9CD,IA8CC;;AAED,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAC,QAAQ,IAAK,OAAA,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAjC,CAAiC,CAAC,CAAC","sourcesContent":["import { IMaterial } from \"babylonjs-gltf2interface\";\r\nimport { IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\r\nimport { _Exporter } from \"../glTFExporter\";\r\nimport { Material } from '@babylonjs/core/Materials/material';\r\nimport { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';\r\nimport { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';\r\n\r\nconst NAME = \"KHR_materials_unlit\";\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport class KHR_materials_unlit 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 _wasUsed = false;\r\n\r\n constructor(exporter: _Exporter) {\r\n }\r\n\r\n /** @hidden */\r\n public get wasUsed() {\r\n return this._wasUsed;\r\n }\r\n\r\n public dispose() {\r\n }\r\n\r\n public postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial> {\r\n return new Promise((resolve, reject) => {\r\n let unlitMaterial = false;\r\n\r\n if (babylonMaterial instanceof PBRMaterial) {\r\n unlitMaterial = babylonMaterial.unlit;\r\n } else if (babylonMaterial instanceof StandardMaterial) {\r\n unlitMaterial = babylonMaterial.disableLighting;\r\n }\r\n\r\n if (unlitMaterial) {\r\n this._wasUsed = true;\r\n\r\n if (node.extensions == null) {\r\n node.extensions = {};\r\n }\r\n\r\n node.extensions[NAME] = {};\r\n }\r\n\r\n resolve(node);\r\n });\r\n }\r\n}\r\n\r\n_Exporter.RegisterExtension(NAME, (exporter) => new KHR_materials_unlit(exporter));"]}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { ImageMimeType, ITextureInfo } from "babylonjs-gltf2interface";
|
|
2
|
-
import { Texture } from "@babylonjs/core/Materials/Textures/texture";
|
|
3
|
-
import { IGLTFExporterExtensionV2 } from "../glTFExporterExtension";
|
|
4
|
-
import { _Exporter } from "../glTFExporter";
|
|
5
|
-
import "../shaders/textureTransform.fragment";
|
|
6
|
-
/**
|
|
7
|
-
* @hidden
|
|
8
|
-
*/
|
|
9
|
-
export declare class KHR_texture_transform implements IGLTFExporterExtensionV2 {
|
|
10
|
-
private _recordedTextures;
|
|
11
|
-
/** Name of this extension */
|
|
12
|
-
readonly name = "KHR_texture_transform";
|
|
13
|
-
/** Defines whether this extension is enabled */
|
|
14
|
-
enabled: boolean;
|
|
15
|
-
/** Defines whether this extension is required */
|
|
16
|
-
required: boolean;
|
|
17
|
-
/** Reference to the glTF exporter */
|
|
18
|
-
private _wasUsed;
|
|
19
|
-
constructor(exporter: _Exporter);
|
|
20
|
-
dispose(): void;
|
|
21
|
-
/** @hidden */
|
|
22
|
-
get wasUsed(): boolean;
|
|
23
|
-
postExportTexture?(context: string, textureInfo: ITextureInfo, babylonTexture: Texture): void;
|
|
24
|
-
preExportTextureAsync(context: string, babylonTexture: Texture, mimeType: ImageMimeType): Promise<Texture>;
|
|
25
|
-
/**
|
|
26
|
-
* Transform the babylon texture by the offset, rotation and scale parameters using a procedural texture
|
|
27
|
-
* @param babylonTexture
|
|
28
|
-
* @param offset
|
|
29
|
-
* @param rotation
|
|
30
|
-
* @param scale
|
|
31
|
-
* @param scene
|
|
32
|
-
*/
|
|
33
|
-
private _textureTransformTextureAsync;
|
|
34
|
-
}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
2
|
-
import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture.js";
|
|
3
|
-
import { _Exporter } from "../glTFExporter.js";
|
|
4
|
-
var NAME = "KHR_texture_transform";
|
|
5
|
-
import "../shaders/textureTransform.fragment.js";
|
|
6
|
-
/**
|
|
7
|
-
* @hidden
|
|
8
|
-
*/
|
|
9
|
-
var KHR_texture_transform = /** @class */ (function () {
|
|
10
|
-
function KHR_texture_transform(exporter) {
|
|
11
|
-
this._recordedTextures = [];
|
|
12
|
-
/** Name of this extension */
|
|
13
|
-
this.name = NAME;
|
|
14
|
-
/** Defines whether this extension is enabled */
|
|
15
|
-
this.enabled = true;
|
|
16
|
-
/** Defines whether this extension is required */
|
|
17
|
-
this.required = false;
|
|
18
|
-
/** Reference to the glTF exporter */
|
|
19
|
-
this._wasUsed = false;
|
|
20
|
-
}
|
|
21
|
-
KHR_texture_transform.prototype.dispose = function () {
|
|
22
|
-
for (var _i = 0, _a = this._recordedTextures; _i < _a.length; _i++) {
|
|
23
|
-
var texture = _a[_i];
|
|
24
|
-
texture.dispose();
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
Object.defineProperty(KHR_texture_transform.prototype, "wasUsed", {
|
|
28
|
-
/** @hidden */
|
|
29
|
-
get: function () {
|
|
30
|
-
return this._wasUsed;
|
|
31
|
-
},
|
|
32
|
-
enumerable: false,
|
|
33
|
-
configurable: true
|
|
34
|
-
});
|
|
35
|
-
KHR_texture_transform.prototype.postExportTexture = function (context, textureInfo, babylonTexture) {
|
|
36
|
-
var canUseExtension = babylonTexture && ((babylonTexture.uAng === 0 && babylonTexture.wAng === 0 && babylonTexture.vAng === 0) || (babylonTexture.uRotationCenter === 0 && babylonTexture.vRotationCenter === 0));
|
|
37
|
-
if (canUseExtension) {
|
|
38
|
-
var textureTransform = {};
|
|
39
|
-
var transformIsRequired = false;
|
|
40
|
-
if (babylonTexture.uOffset !== 0 || babylonTexture.vOffset !== 0) {
|
|
41
|
-
textureTransform.offset = [babylonTexture.uOffset, babylonTexture.vOffset];
|
|
42
|
-
transformIsRequired = true;
|
|
43
|
-
}
|
|
44
|
-
if (babylonTexture.uScale !== 1 || babylonTexture.vScale !== 1) {
|
|
45
|
-
textureTransform.scale = [babylonTexture.uScale, babylonTexture.vScale];
|
|
46
|
-
transformIsRequired = true;
|
|
47
|
-
}
|
|
48
|
-
if (babylonTexture.wAng !== 0) {
|
|
49
|
-
textureTransform.rotation = babylonTexture.wAng;
|
|
50
|
-
transformIsRequired = true;
|
|
51
|
-
}
|
|
52
|
-
if (babylonTexture.coordinatesIndex !== 0) {
|
|
53
|
-
textureTransform.texCoord = babylonTexture.coordinatesIndex;
|
|
54
|
-
transformIsRequired = true;
|
|
55
|
-
}
|
|
56
|
-
if (!transformIsRequired) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this._wasUsed = true;
|
|
60
|
-
if (!textureInfo.extensions) {
|
|
61
|
-
textureInfo.extensions = {};
|
|
62
|
-
}
|
|
63
|
-
textureInfo.extensions[NAME] = textureTransform;
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
KHR_texture_transform.prototype.preExportTextureAsync = function (context, babylonTexture, mimeType) {
|
|
67
|
-
var _this = this;
|
|
68
|
-
return new Promise(function (resolve, reject) {
|
|
69
|
-
var scene = babylonTexture.getScene();
|
|
70
|
-
if (!scene) {
|
|
71
|
-
reject("".concat(context, ": \"scene\" is not defined for Babylon texture ").concat(babylonTexture.name, "!"));
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
var bakeTextureTransform = false;
|
|
75
|
-
/*
|
|
76
|
-
* The KHR_texture_transform schema only supports rotation around the origin.
|
|
77
|
-
* the texture must be baked to preserve appearance.
|
|
78
|
-
* see: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_transform#gltf-schema-updates
|
|
79
|
-
*/
|
|
80
|
-
if ((babylonTexture.uAng !== 0 || babylonTexture.wAng !== 0 || babylonTexture.vAng !== 0) && (babylonTexture.uRotationCenter !== 0 || babylonTexture.vRotationCenter !== 0)) {
|
|
81
|
-
bakeTextureTransform = true;
|
|
82
|
-
}
|
|
83
|
-
if (!bakeTextureTransform) {
|
|
84
|
-
resolve(babylonTexture);
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
return _this._textureTransformTextureAsync(babylonTexture, scene)
|
|
88
|
-
.then(function (proceduralTexture) {
|
|
89
|
-
resolve(proceduralTexture);
|
|
90
|
-
})
|
|
91
|
-
.catch(function (e) {
|
|
92
|
-
reject(e);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* Transform the babylon texture by the offset, rotation and scale parameters using a procedural texture
|
|
98
|
-
* @param babylonTexture
|
|
99
|
-
* @param offset
|
|
100
|
-
* @param rotation
|
|
101
|
-
* @param scale
|
|
102
|
-
* @param scene
|
|
103
|
-
*/
|
|
104
|
-
KHR_texture_transform.prototype._textureTransformTextureAsync = function (babylonTexture, scene) {
|
|
105
|
-
var _this = this;
|
|
106
|
-
return new Promise(function (resolve) {
|
|
107
|
-
var proceduralTexture = new ProceduralTexture("".concat(babylonTexture.name), babylonTexture.getSize(), "textureTransform", scene);
|
|
108
|
-
if (!proceduralTexture) {
|
|
109
|
-
Tools.Log("Cannot create procedural texture for ".concat(babylonTexture.name, "!"));
|
|
110
|
-
resolve(babylonTexture);
|
|
111
|
-
}
|
|
112
|
-
proceduralTexture.reservedDataStore = {
|
|
113
|
-
hidden: true,
|
|
114
|
-
source: babylonTexture
|
|
115
|
-
};
|
|
116
|
-
_this._recordedTextures.push(proceduralTexture);
|
|
117
|
-
proceduralTexture.coordinatesIndex = babylonTexture.coordinatesIndex;
|
|
118
|
-
proceduralTexture.setTexture("textureSampler", babylonTexture);
|
|
119
|
-
proceduralTexture.setMatrix("textureTransformMat", babylonTexture.getTextureMatrix());
|
|
120
|
-
// isReady trigger creation of effect if it doesnt exist yet
|
|
121
|
-
if (proceduralTexture.isReady()) {
|
|
122
|
-
proceduralTexture.render();
|
|
123
|
-
resolve(proceduralTexture);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
proceduralTexture.getEffect().executeWhenCompiled(function () {
|
|
127
|
-
proceduralTexture.render();
|
|
128
|
-
resolve(proceduralTexture);
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
};
|
|
133
|
-
return KHR_texture_transform;
|
|
134
|
-
}());
|
|
135
|
-
export { KHR_texture_transform };
|
|
136
|
-
_Exporter.RegisterExtension(NAME, function (exporter) { return new KHR_texture_transform(exporter); });
|
|
137
|
-
//# sourceMappingURL=KHR_texture_transform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_texture_transform.js","sourceRoot":"","sources":["../../../../../sourceES6/serializers/src/glTF/2.0/Extensions/KHR_texture_transform.ts"],"names":[],"mappings":"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","sourcesContent":["import { ImageMimeType, ITextureInfo } from \"babylonjs-gltf2interface\";\r\nimport { Tools } from \"@babylonjs/core/Misc/tools\";\r\nimport { Texture } from \"@babylonjs/core/Materials/Textures/texture\";\r\nimport { ProceduralTexture } from \"@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture\";\r\nimport { Scene } from \"@babylonjs/core/scene\";\r\n\r\nimport { IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\r\nimport { _Exporter } from \"../glTFExporter\";\r\nimport { IKHRTextureTransform } from 'babylonjs-gltf2interface';\r\n\r\nconst NAME = \"KHR_texture_transform\";\r\n\r\nimport \"../shaders/textureTransform.fragment\";\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport class KHR_texture_transform implements IGLTFExporterExtensionV2 {\r\n private _recordedTextures: ProceduralTexture[] = [];\r\n\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 /** Reference to the glTF exporter */\r\n private _wasUsed = false;\r\n\r\n constructor(exporter: _Exporter) {\r\n }\r\n\r\n public dispose() {\r\n for (var texture of this._recordedTextures) {\r\n texture.dispose();\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public get wasUsed() {\r\n return this._wasUsed;\r\n }\r\n\r\n public postExportTexture?(context: string, textureInfo: ITextureInfo, babylonTexture: Texture): void {\r\n const canUseExtension = babylonTexture && ((babylonTexture.uAng === 0 && babylonTexture.wAng === 0 && babylonTexture.vAng === 0) || (babylonTexture.uRotationCenter === 0 && babylonTexture.vRotationCenter === 0));\r\n\r\n if (canUseExtension) {\r\n let textureTransform: IKHRTextureTransform = {};\r\n let transformIsRequired = false;\r\n\r\n if (babylonTexture.uOffset !== 0 || babylonTexture.vOffset !== 0) {\r\n textureTransform.offset = [babylonTexture.uOffset, babylonTexture.vOffset];\r\n transformIsRequired = true;\r\n }\r\n\r\n if (babylonTexture.uScale !== 1 || babylonTexture.vScale !== 1) {\r\n textureTransform.scale = [babylonTexture.uScale, babylonTexture.vScale];\r\n transformIsRequired = true;\r\n }\r\n\r\n if (babylonTexture.wAng !== 0) {\r\n textureTransform.rotation = babylonTexture.wAng;\r\n transformIsRequired = true;\r\n }\r\n\r\n if (babylonTexture.coordinatesIndex !== 0) {\r\n textureTransform.texCoord = babylonTexture.coordinatesIndex;\r\n transformIsRequired = true;\r\n }\r\n\r\n if (!transformIsRequired) {\r\n return;\r\n }\r\n\r\n this._wasUsed = true;\r\n if (!textureInfo.extensions) {\r\n textureInfo.extensions = {};\r\n }\r\n textureInfo.extensions[NAME] = textureTransform;\r\n }\r\n }\r\n\r\n public preExportTextureAsync(context: string, babylonTexture: Texture, mimeType: ImageMimeType): Promise<Texture> {\r\n return new Promise((resolve, reject) => {\r\n const scene = babylonTexture.getScene();\r\n if (!scene) {\r\n reject(`${context}: \"scene\" is not defined for Babylon texture ${babylonTexture.name}!`);\r\n return;\r\n }\r\n\r\n let bakeTextureTransform = false;\r\n\r\n /*\r\n * The KHR_texture_transform schema only supports rotation around the origin.\r\n * the texture must be baked to preserve appearance.\r\n * see: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_transform#gltf-schema-updates\r\n */\r\n if ((babylonTexture.uAng !== 0 || babylonTexture.wAng !== 0 || babylonTexture.vAng !== 0) && (babylonTexture.uRotationCenter !== 0 || babylonTexture.vRotationCenter !== 0)) {\r\n bakeTextureTransform = true;\r\n }\r\n\r\n if (!bakeTextureTransform) {\r\n resolve(babylonTexture);\r\n return;\r\n }\r\n\r\n return this._textureTransformTextureAsync(babylonTexture, scene)\r\n .then((proceduralTexture) => {\r\n resolve(proceduralTexture);\r\n })\r\n .catch((e) => {\r\n reject(e);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Transform the babylon texture by the offset, rotation and scale parameters using a procedural texture\r\n * @param babylonTexture\r\n * @param offset\r\n * @param rotation\r\n * @param scale\r\n * @param scene\r\n */\r\n private _textureTransformTextureAsync(babylonTexture: Texture, scene: Scene): Promise<Texture> {\r\n return new Promise((resolve) => {\r\n const proceduralTexture = new ProceduralTexture(`${babylonTexture.name}`, babylonTexture.getSize(), \"textureTransform\", scene);\r\n if (!proceduralTexture) {\r\n Tools.Log(`Cannot create procedural texture for ${babylonTexture.name}!`);\r\n resolve(babylonTexture);\r\n }\r\n\r\n proceduralTexture.reservedDataStore = {\r\n hidden: true,\r\n source: babylonTexture\r\n };\r\n\r\n this._recordedTextures.push(proceduralTexture);\r\n\r\n proceduralTexture.coordinatesIndex = babylonTexture.coordinatesIndex;\r\n proceduralTexture.setTexture(\"textureSampler\", babylonTexture);\r\n proceduralTexture.setMatrix(\"textureTransformMat\", babylonTexture.getTextureMatrix());\r\n\r\n // isReady trigger creation of effect if it doesnt exist yet\r\n if (proceduralTexture.isReady()) {\r\n proceduralTexture.render();\r\n resolve(proceduralTexture);\r\n } else {\r\n proceduralTexture.getEffect().executeWhenCompiled(() => {\r\n proceduralTexture.render();\r\n resolve(proceduralTexture);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\n_Exporter.RegisterExtension(NAME, (exporter) => new KHR_texture_transform(exporter));"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../sourceES6/serializers/src/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\";"]}
|