@onerjs/loaders 8.26.3 → 8.26.4
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/OBJ/solidParser.d.ts +7 -8
- package/OBJ/solidParser.js +53 -95
- package/OBJ/solidParser.js.map +1 -1
- package/glTF/2.0/Extensions/{KHR_materials_diffuse_roughness.d.ts → EXT_materials_diffuse_roughness.d.ts} +5 -5
- package/glTF/2.0/Extensions/{KHR_materials_diffuse_roughness.js → EXT_materials_diffuse_roughness.js} +18 -8
- package/glTF/2.0/Extensions/EXT_materials_diffuse_roughness.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.d.ts +1 -1
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.js +10 -15
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.js +28 -44
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js +31 -6
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_dispersion.js +7 -3
- package/glTF/2.0/Extensions/KHR_materials_dispersion.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +9 -5
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_ior.js +10 -3
- package/glTF/2.0/Extensions/KHR_materials_ior.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_iridescence.js +11 -13
- package/glTF/2.0/Extensions/KHR_materials_iridescence.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_sheen.js +22 -11
- package/glTF/2.0/Extensions/KHR_materials_sheen.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_specular.js +17 -9
- package/glTF/2.0/Extensions/KHR_materials_specular.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_transmission.js +32 -21
- package/glTF/2.0/Extensions/KHR_materials_transmission.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_unlit.js +13 -7
- package/glTF/2.0/Extensions/KHR_materials_unlit.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_volume.js +22 -13
- package/glTF/2.0/Extensions/KHR_materials_volume.js.map +1 -1
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.js +2 -1
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.js.map +1 -1
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.js +8 -5
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.js.map +1 -1
- package/glTF/2.0/Extensions/dynamic.js +3 -3
- package/glTF/2.0/Extensions/dynamic.js.map +1 -1
- package/glTF/2.0/Extensions/index.d.ts +1 -4
- package/glTF/2.0/Extensions/index.js +1 -4
- package/glTF/2.0/Extensions/index.js.map +1 -1
- package/glTF/2.0/glTFLoader.d.ts +0 -17
- package/glTF/2.0/glTFLoader.js +50 -104
- package/glTF/2.0/glTFLoader.js.map +1 -1
- package/glTF/2.0/index.d.ts +0 -2
- package/glTF/2.0/index.js +0 -2
- package/glTF/2.0/index.js.map +1 -1
- package/glTF/glTFFileLoader.d.ts +0 -5
- package/glTF/glTFFileLoader.js +0 -6
- package/glTF/glTFFileLoader.js.map +1 -1
- package/package.json +3 -3
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_anisotropy.d.ts +0 -42
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_anisotropy.js +0 -66
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_anisotropy.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_color.d.ts +0 -42
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_color.js +0 -62
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_color.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_darkening.d.ts +0 -43
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_darkening.js +0 -62
- package/glTF/2.0/Extensions/KHR_materials_clearcoat_darkening.js.map +0 -1
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.js.map +0 -1
- package/glTF/2.0/materialLoadingAdapter.d.ts +0 -314
- package/glTF/2.0/materialLoadingAdapter.js +0 -2
- package/glTF/2.0/materialLoadingAdapter.js.map +0 -1
- package/glTF/2.0/openPbrMaterialLoadingAdapter.d.ts +0 -594
- package/glTF/2.0/openPbrMaterialLoadingAdapter.js +0 -902
- package/glTF/2.0/openPbrMaterialLoadingAdapter.js.map +0 -1
- package/glTF/2.0/pbrMaterialLoadingAdapter.d.ts +0 -612
- package/glTF/2.0/pbrMaterialLoadingAdapter.js +0 -973
- package/glTF/2.0/pbrMaterialLoadingAdapter.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_minecraftMesh.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/MSFT_minecraftMesh.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MSFT_minecraftMesh.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/MSFT_minecraftMesh.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kDAAuC;AAI7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAalC,gBAAgB;AAChB,gEAAgE;AAChE,MAAM,OAAO,kBAAkB;IAS3B,gBAAgB;IAChB,YAAY,MAAkB;QAT9B,gBAAgB;QACA,SAAI,GAAG,IAAI,CAAC;QASxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB;IACT,OAAO;QACT,IAAI,CAAC,OAAe,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,gBAAgB;IAChB,gDAAgD;IACzC,2BAA2B,CAAC,OAAe,EAAE,QAAmB,EAAE,eAAyB;QAC9F,OAAO,UAAU,CAAC,cAAc,CAAU,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;YAClG,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,CAAC,eAAe,YAAY,WAAW,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,+BAA+B,CAAC,CAAC;gBACpE,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAE7F,IAAI,eAAe,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBACtC,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC;oBACvC,eAAe,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAC/C,CAAC;gBAED,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;gBAClE,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAExC,OAAO,MAAM,OAAO,CAAC;YACzB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC","sourcesContent":["import type { Nullable } from \"core/types\";\r\nimport type { Material } from \"core/Materials/material\";\r\nimport { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\r\n\r\nimport type { IMaterial } from \"../glTFLoaderInterfaces\";\r\nimport type { IGLTFLoaderExtension } from \"../glTFLoaderExtension\";\r\nimport { GLTFLoader } from \"../glTFLoader\";\r\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\r\n\r\nconst NAME = \"MSFT_minecraftMesh\";\r\n\r\ndeclare module \"../../glTFFileLoader\" {\r\n // eslint-disable-next-line jsdoc/require-jsdoc, @typescript-eslint/naming-convention\r\n export interface GLTFLoaderExtensionOptions {\r\n /**\r\n * Defines options for the MSFT_minecraftMesh extension.\r\n */\r\n // NOTE: Don't use NAME here as it will break the UMD type declarations.\r\n [\"MSFT_minecraftMesh\"]: {};\r\n }\r\n}\r\n\r\n/** @internal */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class MSFT_minecraftMesh implements IGLTFLoaderExtension {\r\n /** @internal */\r\n public readonly name = NAME;\r\n\r\n /** @internal */\r\n public enabled: boolean;\r\n\r\n private _loader: GLTFLoader;\r\n\r\n /** @internal */\r\n constructor(loader: GLTFLoader) {\r\n this._loader = loader;\r\n this.enabled = this._loader.isExtensionUsed(NAME);\r\n }\r\n\r\n /** @internal */\r\n public dispose() {\r\n (this._loader as any) = null;\r\n }\r\n\r\n /** @internal */\r\n // eslint-disable-next-line no-restricted-syntax\r\n public loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>> {\r\n return GLTFLoader.LoadExtraAsync<boolean>(context, material, this.name, async (extraContext, extra) => {\r\n if (extra) {\r\n if (!(babylonMaterial instanceof PBRMaterial)) {\r\n throw new Error(`${extraContext}: Material type not supported`);\r\n }\r\n\r\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\r\n\r\n if (babylonMaterial.needAlphaBlending()) {\r\n babylonMaterial.forceDepthWrite = true;\r\n babylonMaterial.separateCullingPass = true;\r\n }\r\n\r\n babylonMaterial.backFaceCulling = babylonMaterial.forceDepthWrite;\r\n babylonMaterial.twoSidedLighting = true;\r\n\r\n return await promise;\r\n }\r\n });\r\n }\r\n}\r\n\r\nunregisterGLTFExtension(NAME);\r\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_minecraftMesh(loader));\r\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PBRMaterial } from "@onerjs/core/Materials/PBR/pbrMaterial.js";
|
|
1
2
|
import { GLTFLoader } from "../glTFLoader.js";
|
|
2
3
|
import { registerGLTFExtension, unregisterGLTFExtension } from "../glTFLoaderExtensionRegistry.js";
|
|
3
4
|
const NAME = "MSFT_sRGBFactors";
|
|
@@ -20,14 +21,16 @@ export class MSFT_sRGBFactors {
|
|
|
20
21
|
loadMaterialPropertiesAsync(context, material, babylonMaterial) {
|
|
21
22
|
return GLTFLoader.LoadExtraAsync(context, material, this.name, async (extraContext, extra) => {
|
|
22
23
|
if (extra) {
|
|
23
|
-
|
|
24
|
+
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
25
|
+
throw new Error(`${extraContext}: Material type not supported`);
|
|
26
|
+
}
|
|
24
27
|
const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);
|
|
25
28
|
const useExactSrgbConversions = babylonMaterial.getScene().getEngine().useExactSrgbConversions;
|
|
26
|
-
if (!
|
|
27
|
-
|
|
29
|
+
if (!babylonMaterial.albedoTexture) {
|
|
30
|
+
babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor, useExactSrgbConversions);
|
|
28
31
|
}
|
|
29
|
-
if (!
|
|
30
|
-
|
|
32
|
+
if (!babylonMaterial.reflectivityTexture) {
|
|
33
|
+
babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor, useExactSrgbConversions);
|
|
31
34
|
}
|
|
32
35
|
return await promise;
|
|
33
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_sRGBFactors.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/MSFT_sRGBFactors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MSFT_sRGBFactors.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/MSFT_sRGBFactors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kDAAuC;AAI7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAahC,gBAAgB;AAChB,gEAAgE;AAChE,MAAM,OAAO,gBAAgB;IASzB,gBAAgB;IAChB,YAAY,MAAkB;QAT9B,gBAAgB;QACA,SAAI,GAAG,IAAI,CAAC;QASxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB;IACT,OAAO;QACT,IAAI,CAAC,OAAe,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,eAAe;IACf,gDAAgD;IACzC,2BAA2B,CAAC,OAAe,EAAE,QAAmB,EAAE,eAAyB;QAC9F,OAAO,UAAU,CAAC,cAAc,CAAU,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;YAClG,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,CAAC,eAAe,YAAY,WAAW,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,+BAA+B,CAAC,CAAC;gBACpE,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAE7F,MAAM,uBAAuB,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,uBAAuB,CAAC;gBAC/F,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;oBACjC,eAAe,CAAC,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;gBACzG,CAAC;gBAED,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;oBACvC,eAAe,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;gBACrH,CAAC;gBAED,OAAO,MAAM,OAAO,CAAC;YACzB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC","sourcesContent":["import type { Nullable } from \"core/types\";\r\nimport type { Material } from \"core/Materials/material\";\r\nimport { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\r\n\r\nimport type { IMaterial } from \"../glTFLoaderInterfaces\";\r\nimport type { IGLTFLoaderExtension } from \"../glTFLoaderExtension\";\r\nimport { GLTFLoader } from \"../glTFLoader\";\r\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\r\n\r\nconst NAME = \"MSFT_sRGBFactors\";\r\n\r\ndeclare module \"../../glTFFileLoader\" {\r\n // eslint-disable-next-line jsdoc/require-jsdoc, @typescript-eslint/naming-convention\r\n export interface GLTFLoaderExtensionOptions {\r\n /**\r\n * Defines options for the MSFT_sRGBFactors extension.\r\n */\r\n // NOTE: Don't use NAME here as it will break the UMD type declarations.\r\n [\"MSFT_sRGBFactors\"]: {};\r\n }\r\n}\r\n\r\n/** @internal */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class MSFT_sRGBFactors implements IGLTFLoaderExtension {\r\n /** @internal */\r\n public readonly name = NAME;\r\n\r\n /** @internal */\r\n public enabled: boolean;\r\n\r\n private _loader: GLTFLoader;\r\n\r\n /** @internal */\r\n constructor(loader: GLTFLoader) {\r\n this._loader = loader;\r\n this.enabled = this._loader.isExtensionUsed(NAME);\r\n }\r\n\r\n /** @internal */\r\n public dispose() {\r\n (this._loader as any) = null;\r\n }\r\n\r\n /** @internal*/\r\n // eslint-disable-next-line no-restricted-syntax\r\n public loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>> {\r\n return GLTFLoader.LoadExtraAsync<boolean>(context, material, this.name, async (extraContext, extra) => {\r\n if (extra) {\r\n if (!(babylonMaterial instanceof PBRMaterial)) {\r\n throw new Error(`${extraContext}: Material type not supported`);\r\n }\r\n\r\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\r\n\r\n const useExactSrgbConversions = babylonMaterial.getScene().getEngine().useExactSrgbConversions;\r\n if (!babylonMaterial.albedoTexture) {\r\n babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor, useExactSrgbConversions);\r\n }\r\n\r\n if (!babylonMaterial.reflectivityTexture) {\r\n babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor, useExactSrgbConversions);\r\n }\r\n\r\n return await promise;\r\n }\r\n });\r\n }\r\n}\r\n\r\nunregisterGLTFExtension(NAME);\r\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_sRGBFactors(loader));\r\n"]}
|
|
@@ -56,9 +56,9 @@ export function registerBuiltInGLTFExtensions() {
|
|
|
56
56
|
const { KHR_materials_clearcoat } = await import("./KHR_materials_clearcoat.js");
|
|
57
57
|
return new KHR_materials_clearcoat(loader);
|
|
58
58
|
});
|
|
59
|
-
registerGLTFExtension("
|
|
60
|
-
const {
|
|
61
|
-
return new
|
|
59
|
+
registerGLTFExtension("EXT_materials_diffuse_roughness", true, async (loader) => {
|
|
60
|
+
const { EXT_materials_diffuse_roughness } = await import("./EXT_materials_diffuse_roughness.js");
|
|
61
|
+
return new EXT_materials_diffuse_roughness(loader);
|
|
62
62
|
});
|
|
63
63
|
registerGLTFExtension("KHR_materials_diffuse_transmission", true, async (loader) => {
|
|
64
64
|
const { KHR_materials_diffuse_transmission } = await import("./KHR_materials_diffuse_transmission.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/dynamic.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\n\r\nimport { registerGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\r\n\r\n/**\r\n * Registers the built-in glTF 2.0 extension async factories, which dynamically imports and loads each glTF extension on demand (e.g. only when a glTF model uses the extension).\r\n */\r\nexport function registerBuiltInGLTFExtensions() {\r\n registerGLTFExtension(\"EXT_lights_image_based\", true, async (loader) => {\r\n const { EXT_lights_image_based } = await import(\"./EXT_lights_image_based\");\r\n return new EXT_lights_image_based(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_mesh_gpu_instancing\", true, async (loader) => {\r\n const { EXT_mesh_gpu_instancing } = await import(\"./EXT_mesh_gpu_instancing\");\r\n return new EXT_mesh_gpu_instancing(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_meshopt_compression\", true, async (loader) => {\r\n const { EXT_meshopt_compression } = await import(\"./EXT_meshopt_compression\");\r\n return new EXT_meshopt_compression(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_texture_avif\", true, async (loader) => {\r\n const { EXT_texture_avif } = await import(\"./EXT_texture_avif\");\r\n return new EXT_texture_avif(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_texture_webp\", true, async (loader) => {\r\n const { EXT_texture_webp } = await import(\"./EXT_texture_webp\");\r\n return new EXT_texture_webp(loader);\r\n });\r\n\r\n registerGLTFExtension(\"ExtrasAsMetadata\", false, async (loader) => {\r\n const { ExtrasAsMetadata } = await import(\"./ExtrasAsMetadata\");\r\n return new ExtrasAsMetadata(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_animation_pointer\", true, async (loader) => {\r\n const { KHR_animation_pointer } = await import(\"./KHR_animation_pointer\");\r\n return new KHR_animation_pointer(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_draco_mesh_compression\", true, async (loader) => {\r\n const { KHR_draco_mesh_compression } = await import(\"./KHR_draco_mesh_compression\");\r\n return new KHR_draco_mesh_compression(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_interactivity\", true, async (loader) => {\r\n const { KHR_interactivity } = await import(\"./KHR_interactivity\");\r\n return new KHR_interactivity(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_lights_punctual\", true, async (loader) => {\r\n const { KHR_lights } = await import(\"./KHR_lights_punctual\");\r\n return new KHR_lights(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_lights_ies\", true, async (loader) => {\r\n const { EXT_lights_ies } = await import(\"./EXT_lights_ies\");\r\n return new EXT_lights_ies(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_anisotropy\", true, async (loader) => {\r\n const { KHR_materials_anisotropy } = await import(\"./KHR_materials_anisotropy\");\r\n return new KHR_materials_anisotropy(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_clearcoat\", true, async (loader) => {\r\n const { KHR_materials_clearcoat } = await import(\"./KHR_materials_clearcoat\");\r\n return new KHR_materials_clearcoat(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_diffuse_roughness\", true, async (loader) => {\r\n const { KHR_materials_diffuse_roughness } = await import(\"./KHR_materials_diffuse_roughness\");\r\n return new KHR_materials_diffuse_roughness(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_diffuse_transmission\", true, async (loader) => {\r\n const { KHR_materials_diffuse_transmission } = await import(\"./KHR_materials_diffuse_transmission\");\r\n return new KHR_materials_diffuse_transmission(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_dispersion\", true, async (loader) => {\r\n const { KHR_materials_dispersion } = await import(\"./KHR_materials_dispersion\");\r\n return new KHR_materials_dispersion(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_emissive_strength\", true, async (loader) => {\r\n const { KHR_materials_emissive_strength } = await import(\"./KHR_materials_emissive_strength\");\r\n return new KHR_materials_emissive_strength(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_ior\", true, async (loader) => {\r\n const { KHR_materials_ior } = await import(\"./KHR_materials_ior\");\r\n return new KHR_materials_ior(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_iridescence\", true, async (loader) => {\r\n const { KHR_materials_iridescence } = await import(\"./KHR_materials_iridescence\");\r\n return new KHR_materials_iridescence(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_pbrSpecularGlossiness\", true, async (loader) => {\r\n const { KHR_materials_pbrSpecularGlossiness } = await import(\"./KHR_materials_pbrSpecularGlossiness\");\r\n return new KHR_materials_pbrSpecularGlossiness(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_sheen\", true, async (loader) => {\r\n const { KHR_materials_sheen } = await import(\"./KHR_materials_sheen\");\r\n return new KHR_materials_sheen(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_specular\", true, async (loader) => {\r\n const { KHR_materials_specular } = await import(\"./KHR_materials_specular\");\r\n return new KHR_materials_specular(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_transmission\", true, async (loader) => {\r\n const { KHR_materials_transmission } = await import(\"./KHR_materials_transmission\");\r\n return new KHR_materials_transmission(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_unlit\", true, async (loader) => {\r\n const { KHR_materials_unlit } = await import(\"./KHR_materials_unlit\");\r\n return new KHR_materials_unlit(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_variants\", true, async (loader) => {\r\n const { KHR_materials_variants } = await import(\"./KHR_materials_variants\");\r\n return new KHR_materials_variants(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_volume\", true, async (loader) => {\r\n const { KHR_materials_volume } = await import(\"./KHR_materials_volume\");\r\n return new KHR_materials_volume(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_mesh_quantization\", true, async (loader) => {\r\n const { KHR_mesh_quantization } = await import(\"./KHR_mesh_quantization\");\r\n return new KHR_mesh_quantization(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_texture_basisu\", true, async (loader) => {\r\n const { KHR_texture_basisu } = await import(\"./KHR_texture_basisu\");\r\n return new KHR_texture_basisu(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_texture_transform\", true, async (loader) => {\r\n const { KHR_texture_transform } = await import(\"./KHR_texture_transform\");\r\n return new KHR_texture_transform(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_xmp_json_ld\", true, async (loader) => {\r\n const { KHR_xmp_json_ld } = await import(\"./KHR_xmp_json_ld\");\r\n return new KHR_xmp_json_ld(loader);\r\n });\r\n\r\n registerGLTFExtension(\"MSFT_audio_emitter\", true, async (loader) => {\r\n const { MSFT_audio_emitter } = await import(\"./MSFT_audio_emitter\");\r\n return new MSFT_audio_emitter(loader);\r\n });\r\n\r\n registerGLTFExtension(\"MSFT_lod\", true, async (loader) => {\r\n const { MSFT_lod } = await import(\"./MSFT_lod\");\r\n return new MSFT_lod(loader);\r\n });\r\n\r\n registerGLTFExtension(\"MSFT_minecraftMesh\", true, async (loader) => {\r\n const { MSFT_minecraftMesh } = await import(\"./MSFT_minecraftMesh\");\r\n return new MSFT_minecraftMesh(loader);\r\n });\r\n\r\n registerGLTFExtension(\"MSFT_sRGBFactors\", true, async (loader) => {\r\n const { MSFT_sRGBFactors } = await import(\"./MSFT_sRGBFactors\");\r\n return new MSFT_sRGBFactors(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_node_visibility\", true, async (loader) => {\r\n const { KHR_node_visibility } = await import(\"./KHR_node_visibility\");\r\n return new KHR_node_visibility(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_node_hoverability\", true, async (loader) => {\r\n const { KHR_node_hoverability } = await import(\"./KHR_node_hoverability\");\r\n return new KHR_node_hoverability(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_node_selectability\", true, async (loader) => {\r\n const { KHR_node_selectability } = await import(\"./KHR_node_selectability\");\r\n return new KHR_node_selectability(loader);\r\n });\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/dynamic.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\n\r\nimport { registerGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\r\n\r\n/**\r\n * Registers the built-in glTF 2.0 extension async factories, which dynamically imports and loads each glTF extension on demand (e.g. only when a glTF model uses the extension).\r\n */\r\nexport function registerBuiltInGLTFExtensions() {\r\n registerGLTFExtension(\"EXT_lights_image_based\", true, async (loader) => {\r\n const { EXT_lights_image_based } = await import(\"./EXT_lights_image_based\");\r\n return new EXT_lights_image_based(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_mesh_gpu_instancing\", true, async (loader) => {\r\n const { EXT_mesh_gpu_instancing } = await import(\"./EXT_mesh_gpu_instancing\");\r\n return new EXT_mesh_gpu_instancing(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_meshopt_compression\", true, async (loader) => {\r\n const { EXT_meshopt_compression } = await import(\"./EXT_meshopt_compression\");\r\n return new EXT_meshopt_compression(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_texture_avif\", true, async (loader) => {\r\n const { EXT_texture_avif } = await import(\"./EXT_texture_avif\");\r\n return new EXT_texture_avif(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_texture_webp\", true, async (loader) => {\r\n const { EXT_texture_webp } = await import(\"./EXT_texture_webp\");\r\n return new EXT_texture_webp(loader);\r\n });\r\n\r\n registerGLTFExtension(\"ExtrasAsMetadata\", false, async (loader) => {\r\n const { ExtrasAsMetadata } = await import(\"./ExtrasAsMetadata\");\r\n return new ExtrasAsMetadata(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_animation_pointer\", true, async (loader) => {\r\n const { KHR_animation_pointer } = await import(\"./KHR_animation_pointer\");\r\n return new KHR_animation_pointer(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_draco_mesh_compression\", true, async (loader) => {\r\n const { KHR_draco_mesh_compression } = await import(\"./KHR_draco_mesh_compression\");\r\n return new KHR_draco_mesh_compression(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_interactivity\", true, async (loader) => {\r\n const { KHR_interactivity } = await import(\"./KHR_interactivity\");\r\n return new KHR_interactivity(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_lights_punctual\", true, async (loader) => {\r\n const { KHR_lights } = await import(\"./KHR_lights_punctual\");\r\n return new KHR_lights(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_lights_ies\", true, async (loader) => {\r\n const { EXT_lights_ies } = await import(\"./EXT_lights_ies\");\r\n return new EXT_lights_ies(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_anisotropy\", true, async (loader) => {\r\n const { KHR_materials_anisotropy } = await import(\"./KHR_materials_anisotropy\");\r\n return new KHR_materials_anisotropy(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_clearcoat\", true, async (loader) => {\r\n const { KHR_materials_clearcoat } = await import(\"./KHR_materials_clearcoat\");\r\n return new KHR_materials_clearcoat(loader);\r\n });\r\n\r\n registerGLTFExtension(\"EXT_materials_diffuse_roughness\", true, async (loader) => {\r\n const { EXT_materials_diffuse_roughness } = await import(\"./EXT_materials_diffuse_roughness\");\r\n return new EXT_materials_diffuse_roughness(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_diffuse_transmission\", true, async (loader) => {\r\n const { KHR_materials_diffuse_transmission } = await import(\"./KHR_materials_diffuse_transmission\");\r\n return new KHR_materials_diffuse_transmission(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_dispersion\", true, async (loader) => {\r\n const { KHR_materials_dispersion } = await import(\"./KHR_materials_dispersion\");\r\n return new KHR_materials_dispersion(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_emissive_strength\", true, async (loader) => {\r\n const { KHR_materials_emissive_strength } = await import(\"./KHR_materials_emissive_strength\");\r\n return new KHR_materials_emissive_strength(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_ior\", true, async (loader) => {\r\n const { KHR_materials_ior } = await import(\"./KHR_materials_ior\");\r\n return new KHR_materials_ior(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_iridescence\", true, async (loader) => {\r\n const { KHR_materials_iridescence } = await import(\"./KHR_materials_iridescence\");\r\n return new KHR_materials_iridescence(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_pbrSpecularGlossiness\", true, async (loader) => {\r\n const { KHR_materials_pbrSpecularGlossiness } = await import(\"./KHR_materials_pbrSpecularGlossiness\");\r\n return new KHR_materials_pbrSpecularGlossiness(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_sheen\", true, async (loader) => {\r\n const { KHR_materials_sheen } = await import(\"./KHR_materials_sheen\");\r\n return new KHR_materials_sheen(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_specular\", true, async (loader) => {\r\n const { KHR_materials_specular } = await import(\"./KHR_materials_specular\");\r\n return new KHR_materials_specular(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_transmission\", true, async (loader) => {\r\n const { KHR_materials_transmission } = await import(\"./KHR_materials_transmission\");\r\n return new KHR_materials_transmission(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_unlit\", true, async (loader) => {\r\n const { KHR_materials_unlit } = await import(\"./KHR_materials_unlit\");\r\n return new KHR_materials_unlit(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_variants\", true, async (loader) => {\r\n const { KHR_materials_variants } = await import(\"./KHR_materials_variants\");\r\n return new KHR_materials_variants(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_materials_volume\", true, async (loader) => {\r\n const { KHR_materials_volume } = await import(\"./KHR_materials_volume\");\r\n return new KHR_materials_volume(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_mesh_quantization\", true, async (loader) => {\r\n const { KHR_mesh_quantization } = await import(\"./KHR_mesh_quantization\");\r\n return new KHR_mesh_quantization(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_texture_basisu\", true, async (loader) => {\r\n const { KHR_texture_basisu } = await import(\"./KHR_texture_basisu\");\r\n return new KHR_texture_basisu(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_texture_transform\", true, async (loader) => {\r\n const { KHR_texture_transform } = await import(\"./KHR_texture_transform\");\r\n return new KHR_texture_transform(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_xmp_json_ld\", true, async (loader) => {\r\n const { KHR_xmp_json_ld } = await import(\"./KHR_xmp_json_ld\");\r\n return new KHR_xmp_json_ld(loader);\r\n });\r\n\r\n registerGLTFExtension(\"MSFT_audio_emitter\", true, async (loader) => {\r\n const { MSFT_audio_emitter } = await import(\"./MSFT_audio_emitter\");\r\n return new MSFT_audio_emitter(loader);\r\n });\r\n\r\n registerGLTFExtension(\"MSFT_lod\", true, async (loader) => {\r\n const { MSFT_lod } = await import(\"./MSFT_lod\");\r\n return new MSFT_lod(loader);\r\n });\r\n\r\n registerGLTFExtension(\"MSFT_minecraftMesh\", true, async (loader) => {\r\n const { MSFT_minecraftMesh } = await import(\"./MSFT_minecraftMesh\");\r\n return new MSFT_minecraftMesh(loader);\r\n });\r\n\r\n registerGLTFExtension(\"MSFT_sRGBFactors\", true, async (loader) => {\r\n const { MSFT_sRGBFactors } = await import(\"./MSFT_sRGBFactors\");\r\n return new MSFT_sRGBFactors(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_node_visibility\", true, async (loader) => {\r\n const { KHR_node_visibility } = await import(\"./KHR_node_visibility\");\r\n return new KHR_node_visibility(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_node_hoverability\", true, async (loader) => {\r\n const { KHR_node_hoverability } = await import(\"./KHR_node_hoverability\");\r\n return new KHR_node_hoverability(loader);\r\n });\r\n\r\n registerGLTFExtension(\"KHR_node_selectability\", true, async (loader) => {\r\n const { KHR_node_selectability } = await import(\"./KHR_node_selectability\");\r\n return new KHR_node_selectability(loader);\r\n });\r\n}\r\n"]}
|
|
@@ -11,9 +11,6 @@ export * from "./KHR_lights_punctual.js";
|
|
|
11
11
|
export * from "./KHR_materials_pbrSpecularGlossiness.js";
|
|
12
12
|
export * from "./KHR_materials_unlit.js";
|
|
13
13
|
export * from "./KHR_materials_clearcoat.js";
|
|
14
|
-
export * from "./KHR_materials_clearcoat_darkening.js";
|
|
15
|
-
export * from "./KHR_materials_clearcoat_color.js";
|
|
16
|
-
export * from "./KHR_materials_clearcoat_anisotropy.js";
|
|
17
14
|
export * from "./KHR_materials_iridescence.js";
|
|
18
15
|
export * from "./KHR_materials_anisotropy.js";
|
|
19
16
|
export * from "./KHR_materials_emissive_strength.js";
|
|
@@ -25,7 +22,7 @@ export * from "./KHR_materials_transmission.js";
|
|
|
25
22
|
export * from "./KHR_materials_diffuse_transmission.js";
|
|
26
23
|
export * from "./KHR_materials_volume.js";
|
|
27
24
|
export * from "./KHR_materials_dispersion.js";
|
|
28
|
-
export * from "./
|
|
25
|
+
export * from "./EXT_materials_diffuse_roughness.js";
|
|
29
26
|
export * from "./KHR_mesh_quantization.js";
|
|
30
27
|
export * from "./KHR_texture_basisu.js";
|
|
31
28
|
export * from "./KHR_texture_transform.js";
|
|
@@ -12,9 +12,6 @@ export * from "./KHR_lights_punctual.js";
|
|
|
12
12
|
export * from "./KHR_materials_pbrSpecularGlossiness.js";
|
|
13
13
|
export * from "./KHR_materials_unlit.js";
|
|
14
14
|
export * from "./KHR_materials_clearcoat.js";
|
|
15
|
-
export * from "./KHR_materials_clearcoat_darkening.js";
|
|
16
|
-
export * from "./KHR_materials_clearcoat_color.js";
|
|
17
|
-
export * from "./KHR_materials_clearcoat_anisotropy.js";
|
|
18
15
|
export * from "./KHR_materials_iridescence.js";
|
|
19
16
|
export * from "./KHR_materials_anisotropy.js";
|
|
20
17
|
export * from "./KHR_materials_emissive_strength.js";
|
|
@@ -26,7 +23,7 @@ export * from "./KHR_materials_transmission.js";
|
|
|
26
23
|
export * from "./KHR_materials_diffuse_transmission.js";
|
|
27
24
|
export * from "./KHR_materials_volume.js";
|
|
28
25
|
export * from "./KHR_materials_dispersion.js";
|
|
29
|
-
export * from "./
|
|
26
|
+
export * from "./EXT_materials_diffuse_roughness.js";
|
|
30
27
|
export * from "./KHR_mesh_quantization.js";
|
|
31
28
|
export * from "./KHR_texture_basisu.js";
|
|
32
29
|
export * from "./KHR_texture_transform.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-restricted-imports */\r\nexport * from \"./objectModelMapping\";\r\nexport * from \"./EXT_lights_area\";\r\nexport * from \"./EXT_lights_image_based\";\r\nexport * from \"./EXT_mesh_gpu_instancing\";\r\nexport * from \"./EXT_meshopt_compression\";\r\nexport * from \"./EXT_texture_webp\";\r\nexport * from \"./EXT_texture_avif\";\r\nexport * from \"./EXT_lights_ies\";\r\nexport * from \"./KHR_draco_mesh_compression\";\r\nexport * from \"./KHR_lights_punctual\";\r\nexport * from \"./KHR_materials_pbrSpecularGlossiness\";\r\nexport * from \"./KHR_materials_unlit\";\r\nexport * from \"./KHR_materials_clearcoat\";\r\nexport * from \"./KHR_materials_iridescence\";\r\nexport * from \"./KHR_materials_anisotropy\";\r\nexport * from \"./KHR_materials_emissive_strength\";\r\nexport * from \"./KHR_materials_sheen\";\r\nexport * from \"./KHR_materials_specular\";\r\nexport * from \"./KHR_materials_ior\";\r\nexport * from \"./KHR_materials_variants\";\r\nexport * from \"./KHR_materials_transmission\";\r\nexport * from \"./KHR_materials_diffuse_transmission\";\r\nexport * from \"./KHR_materials_volume\";\r\nexport * from \"./KHR_materials_dispersion\";\r\nexport * from \"./EXT_materials_diffuse_roughness\";\r\nexport * from \"./KHR_mesh_quantization\";\r\nexport * from \"./KHR_texture_basisu\";\r\nexport * from \"./KHR_texture_transform\";\r\nexport * from \"./KHR_xmp_json_ld\";\r\nexport * from \"./KHR_animation_pointer\";\r\nexport * from \"./MSFT_audio_emitter\";\r\nexport * from \"./MSFT_lod\";\r\nexport * from \"./MSFT_minecraftMesh\";\r\nexport * from \"./MSFT_sRGBFactors\";\r\nexport * from \"./KHR_interactivity\";\r\nexport * from \"./KHR_node_visibility\";\r\nexport * from \"./KHR_node_selectability\";\r\nexport * from \"./KHR_node_hoverability\";\r\nexport * from \"./ExtrasAsMetadata\";\r\nexport * from \"./KHR_interactivity/index\";\r\n"]}
|
package/glTF/2.0/glTFLoader.d.ts
CHANGED
|
@@ -4,10 +4,6 @@ import { Animation } from "@onerjs/core/Animations/animation.js";
|
|
|
4
4
|
import type { IAnimatable } from "@onerjs/core/Animations/animatable.interface.js";
|
|
5
5
|
import type { AnimationGroup } from "@onerjs/core/Animations/animationGroup.js";
|
|
6
6
|
import { Material } from "@onerjs/core/Materials/material.js";
|
|
7
|
-
import type { PBRMaterial } from "@onerjs/core/Materials/PBR/pbrMaterial.js";
|
|
8
|
-
import type { OpenPBRMaterial } from "@onerjs/core/Materials/PBR/openPbrMaterial.js";
|
|
9
|
-
import type { OpenPBRMaterialLoadingAdapter } from "./openPbrMaterialLoadingAdapter.js";
|
|
10
|
-
import type { PBRMaterialLoadingAdapter } from "./pbrMaterialLoadingAdapter.js";
|
|
11
7
|
import type { BaseTexture } from "@onerjs/core/Materials/Textures/baseTexture.js";
|
|
12
8
|
import { TransformNode } from "@onerjs/core/Meshes/transformNode.js";
|
|
13
9
|
import { Buffer, VertexBuffer } from "@onerjs/core/Buffers/buffer.js";
|
|
@@ -27,7 +23,6 @@ import type { AnimationPropertyInfo } from "./glTFLoaderAnimation.js";
|
|
|
27
23
|
import type { IObjectInfo } from "@onerjs/core/ObjectModel/objectModelInterfaces.js";
|
|
28
24
|
import type { GLTFExtensionFactory } from "./glTFLoaderExtensionRegistry.js";
|
|
29
25
|
import type { IInterpolationPropertyInfo } from "@onerjs/core/FlowGraph/typeDefinitions.js";
|
|
30
|
-
import type { IMaterialLoadingAdapter } from "./materialLoadingAdapter.js";
|
|
31
26
|
export { GLTFFileLoader };
|
|
32
27
|
interface IWithMetadata {
|
|
33
28
|
metadata: any;
|
|
@@ -95,11 +90,6 @@ export declare class GLTFLoader implements IGLTFLoader {
|
|
|
95
90
|
private _rootBabylonMesh;
|
|
96
91
|
private _defaultBabylonMaterialData;
|
|
97
92
|
private readonly _postSceneLoadActions;
|
|
98
|
-
private readonly _materialAdapterCache;
|
|
99
|
-
/** @internal */
|
|
100
|
-
_pbrMaterialClass: typeof PBRMaterial | typeof OpenPBRMaterial | null;
|
|
101
|
-
/** @internal */
|
|
102
|
-
_pbrMaterialAdapterClass: typeof OpenPBRMaterialLoadingAdapter | typeof PBRMaterialLoadingAdapter | null;
|
|
103
93
|
/**
|
|
104
94
|
* The default glTF sampler.
|
|
105
95
|
*/
|
|
@@ -146,13 +136,6 @@ export declare class GLTFLoader implements IGLTFLoader {
|
|
|
146
136
|
* @internal
|
|
147
137
|
*/
|
|
148
138
|
constructor(parent: GLTFFileLoader);
|
|
149
|
-
/**
|
|
150
|
-
* Creates or gets a cached material loading adapter with dynamic imports
|
|
151
|
-
* @param material The material to adapt
|
|
152
|
-
* @returns Promise that resolves to the appropriate adapter
|
|
153
|
-
* @internal
|
|
154
|
-
*/
|
|
155
|
-
_getOrCreateMaterialAdapter(material: Material): IMaterialLoadingAdapter;
|
|
156
139
|
/** @internal */
|
|
157
140
|
dispose(): void;
|
|
158
141
|
/**
|
package/glTF/2.0/glTFLoader.js
CHANGED
|
@@ -8,6 +8,7 @@ import { Animation } from "@onerjs/core/Animations/animation.js";
|
|
|
8
8
|
import { Bone } from "@onerjs/core/Bones/bone.js";
|
|
9
9
|
import { Skeleton } from "@onerjs/core/Bones/skeleton.js";
|
|
10
10
|
import { Material } from "@onerjs/core/Materials/material.js";
|
|
11
|
+
import { PBRMaterial } from "@onerjs/core/Materials/PBR/pbrMaterial.js";
|
|
11
12
|
import { Texture } from "@onerjs/core/Materials/Textures/texture.js";
|
|
12
13
|
import { TransformNode } from "@onerjs/core/Meshes/transformNode.js";
|
|
13
14
|
import { Buffer, VertexBuffer } from "@onerjs/core/Buffers/buffer.js";
|
|
@@ -190,32 +191,8 @@ export class GLTFLoader {
|
|
|
190
191
|
this._rootBabylonMesh = null;
|
|
191
192
|
this._defaultBabylonMaterialData = {};
|
|
192
193
|
this._postSceneLoadActions = new Array();
|
|
193
|
-
this._materialAdapterCache = new WeakMap();
|
|
194
|
-
/** @internal */
|
|
195
|
-
this._pbrMaterialClass = null;
|
|
196
|
-
/** @internal */
|
|
197
|
-
this._pbrMaterialAdapterClass = null;
|
|
198
194
|
this._parent = parent;
|
|
199
195
|
}
|
|
200
|
-
/**
|
|
201
|
-
* Creates or gets a cached material loading adapter with dynamic imports
|
|
202
|
-
* @param material The material to adapt
|
|
203
|
-
* @returns Promise that resolves to the appropriate adapter
|
|
204
|
-
* @internal
|
|
205
|
-
*/
|
|
206
|
-
_getOrCreateMaterialAdapter(material) {
|
|
207
|
-
let adapter = this._materialAdapterCache.get(material);
|
|
208
|
-
if (!adapter) {
|
|
209
|
-
if (this._pbrMaterialAdapterClass) {
|
|
210
|
-
adapter = new this._pbrMaterialAdapterClass(material);
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
throw new Error(`Appropriate material adapter class not found`);
|
|
214
|
-
}
|
|
215
|
-
this._materialAdapterCache.set(material, adapter);
|
|
216
|
-
}
|
|
217
|
-
return adapter;
|
|
218
|
-
}
|
|
219
196
|
/** @internal */
|
|
220
197
|
dispose() {
|
|
221
198
|
if (this._disposed) {
|
|
@@ -291,18 +268,6 @@ export class GLTFLoader {
|
|
|
291
268
|
this._fileName = fileName;
|
|
292
269
|
this._allMaterialsDirtyRequired = false;
|
|
293
270
|
await this._loadExtensionsAsync();
|
|
294
|
-
if (this.parent.useOpenPBR) {
|
|
295
|
-
const materialAdapterModule = await import("./openPbrMaterialLoadingAdapter.js");
|
|
296
|
-
this._pbrMaterialAdapterClass = materialAdapterModule.OpenPBRMaterialLoadingAdapter;
|
|
297
|
-
const materialModule = await import("@onerjs/core/Materials/PBR/openPbrMaterial.js");
|
|
298
|
-
this._pbrMaterialClass = materialModule.OpenPBRMaterial;
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
const materialAdapterModule = await import("./pbrMaterialLoadingAdapter.js");
|
|
302
|
-
this._pbrMaterialAdapterClass = materialAdapterModule.PBRMaterialLoadingAdapter;
|
|
303
|
-
const materialModule = await import("@onerjs/core/Materials/PBR/pbrMaterial.js");
|
|
304
|
-
this._pbrMaterialClass = materialModule.PBRMaterial;
|
|
305
|
-
}
|
|
306
271
|
const loadingToReadyCounterName = `${GLTFLoaderState[GLTFLoaderState.LOADING]} => ${GLTFLoaderState[GLTFLoaderState.READY]}`;
|
|
307
272
|
const loadingToCompleteCounterName = `${GLTFLoaderState[GLTFLoaderState.LOADING]} => ${GLTFLoaderState[GLTFLoaderState.COMPLETE]}`;
|
|
308
273
|
this._parent._startPerformanceCounter(loadingToReadyCounterName);
|
|
@@ -1735,36 +1700,35 @@ export class GLTFLoader {
|
|
|
1735
1700
|
return accessor._babylonVertexBuffer[kind];
|
|
1736
1701
|
}
|
|
1737
1702
|
_loadMaterialMetallicRoughnessPropertiesAsync(context, properties, babylonMaterial) {
|
|
1703
|
+
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
1704
|
+
throw new Error(`${context}: Material type not supported`);
|
|
1705
|
+
}
|
|
1738
1706
|
const promises = new Array();
|
|
1739
|
-
const adapter = this._getOrCreateMaterialAdapter(babylonMaterial);
|
|
1740
1707
|
if (properties) {
|
|
1741
|
-
// Set base color and alpha using adapter
|
|
1742
1708
|
if (properties.baseColorFactor) {
|
|
1743
|
-
|
|
1744
|
-
|
|
1709
|
+
babylonMaterial.albedoColor = Color3.FromArray(properties.baseColorFactor);
|
|
1710
|
+
babylonMaterial.alpha = properties.baseColorFactor[3];
|
|
1745
1711
|
}
|
|
1746
1712
|
else {
|
|
1747
|
-
|
|
1713
|
+
babylonMaterial.albedoColor = Color3.White();
|
|
1748
1714
|
}
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
adapter.specularRoughness = properties.roughnessFactor == undefined ? 1 : properties.roughnessFactor;
|
|
1715
|
+
babylonMaterial.metallic = properties.metallicFactor == undefined ? 1 : properties.metallicFactor;
|
|
1716
|
+
babylonMaterial.roughness = properties.roughnessFactor == undefined ? 1 : properties.roughnessFactor;
|
|
1752
1717
|
if (properties.baseColorTexture) {
|
|
1753
1718
|
promises.push(this.loadTextureInfoAsync(`${context}/baseColorTexture`, properties.baseColorTexture, (texture) => {
|
|
1754
1719
|
texture.name = `${babylonMaterial.name} (Base Color)`;
|
|
1755
|
-
|
|
1720
|
+
babylonMaterial.albedoTexture = texture;
|
|
1756
1721
|
}));
|
|
1757
1722
|
}
|
|
1758
1723
|
if (properties.metallicRoughnessTexture) {
|
|
1759
1724
|
properties.metallicRoughnessTexture.nonColorData = true;
|
|
1760
1725
|
promises.push(this.loadTextureInfoAsync(`${context}/metallicRoughnessTexture`, properties.metallicRoughnessTexture, (texture) => {
|
|
1761
1726
|
texture.name = `${babylonMaterial.name} (Metallic Roughness)`;
|
|
1762
|
-
|
|
1763
|
-
adapter.specularRoughnessTexture = texture;
|
|
1727
|
+
babylonMaterial.metallicTexture = texture;
|
|
1764
1728
|
}));
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1729
|
+
babylonMaterial.useMetallnessFromMetallicTextureBlue = true;
|
|
1730
|
+
babylonMaterial.useRoughnessFromMetallicTextureGreen = true;
|
|
1731
|
+
babylonMaterial.useRoughnessFromMetallicTextureAlpha = false;
|
|
1768
1732
|
}
|
|
1769
1733
|
}
|
|
1770
1734
|
return Promise.all(promises).then(() => { });
|
|
@@ -1782,8 +1746,6 @@ export class GLTFLoader {
|
|
|
1782
1746
|
if (!babylonData) {
|
|
1783
1747
|
this.logOpen(`${context} ${material.name || ""}`);
|
|
1784
1748
|
const babylonMaterial = this.createMaterial(context, material, babylonDrawMode);
|
|
1785
|
-
// Create the adapter for this material immediately after creation
|
|
1786
|
-
this._getOrCreateMaterialAdapter(babylonMaterial);
|
|
1787
1749
|
babylonData = {
|
|
1788
1750
|
babylonMaterial: babylonMaterial,
|
|
1789
1751
|
babylonMeshes: [],
|
|
@@ -1809,22 +1771,18 @@ export class GLTFLoader {
|
|
|
1809
1771
|
});
|
|
1810
1772
|
}
|
|
1811
1773
|
_createDefaultMaterial(name, babylonDrawMode) {
|
|
1812
|
-
if (!this._pbrMaterialClass) {
|
|
1813
|
-
throw new Error("PBR Material class not loaded");
|
|
1814
|
-
}
|
|
1815
1774
|
this._babylonScene._blockEntityCollection = !!this._assetContainer;
|
|
1816
|
-
const babylonMaterial = new
|
|
1775
|
+
const babylonMaterial = new PBRMaterial(name, this._babylonScene);
|
|
1817
1776
|
babylonMaterial._parentContainer = this._assetContainer;
|
|
1818
1777
|
this._babylonScene._blockEntityCollection = false;
|
|
1778
|
+
// Moved to mesh so user can change materials on gltf meshes: babylonMaterial.sideOrientation = this._babylonScene.useRightHandedSystem ? Material.CounterClockWiseSideOrientation : Material.ClockWiseSideOrientation;
|
|
1819
1779
|
babylonMaterial.fillMode = babylonDrawMode;
|
|
1820
|
-
babylonMaterial.
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
adapter.baseMetalness = 1.0;
|
|
1827
|
-
adapter.specularRoughness = 1.0;
|
|
1780
|
+
babylonMaterial.enableSpecularAntiAliasing = true;
|
|
1781
|
+
babylonMaterial.useRadianceOverAlpha = !this._parent.transparencyAsCoverage;
|
|
1782
|
+
babylonMaterial.useSpecularOverAlpha = !this._parent.transparencyAsCoverage;
|
|
1783
|
+
babylonMaterial.transparencyMode = PBRMaterial.PBRMATERIAL_OPAQUE;
|
|
1784
|
+
babylonMaterial.metallic = 1;
|
|
1785
|
+
babylonMaterial.roughness = 1;
|
|
1828
1786
|
return babylonMaterial;
|
|
1829
1787
|
}
|
|
1830
1788
|
/**
|
|
@@ -1871,56 +1829,46 @@ export class GLTFLoader {
|
|
|
1871
1829
|
* @returns A promise that resolves when the load is complete
|
|
1872
1830
|
*/
|
|
1873
1831
|
loadMaterialBasePropertiesAsync(context, material, babylonMaterial) {
|
|
1832
|
+
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
1833
|
+
throw new Error(`${context}: Material type not supported`);
|
|
1834
|
+
}
|
|
1874
1835
|
const promises = new Array();
|
|
1875
|
-
|
|
1876
|
-
// Set emission color using adapter
|
|
1877
|
-
adapter.emissionColor = material.emissiveFactor ? Color3.FromArray(material.emissiveFactor) : new Color3(0, 0, 0);
|
|
1878
|
-
// Set double-sided properties using adapter
|
|
1836
|
+
babylonMaterial.emissiveColor = material.emissiveFactor ? Color3.FromArray(material.emissiveFactor) : new Color3(0, 0, 0);
|
|
1879
1837
|
if (material.doubleSided) {
|
|
1880
|
-
|
|
1881
|
-
|
|
1838
|
+
babylonMaterial.backFaceCulling = false;
|
|
1839
|
+
babylonMaterial.twoSidedLighting = true;
|
|
1882
1840
|
}
|
|
1883
1841
|
if (material.normalTexture) {
|
|
1884
1842
|
material.normalTexture.nonColorData = true;
|
|
1885
1843
|
promises.push(this.loadTextureInfoAsync(`${context}/normalTexture`, material.normalTexture, (texture) => {
|
|
1886
1844
|
texture.name = `${babylonMaterial.name} (Normal)`;
|
|
1887
|
-
|
|
1888
|
-
if (material.normalTexture?.scale != undefined) {
|
|
1889
|
-
texture.level = material.normalTexture.scale;
|
|
1890
|
-
}
|
|
1845
|
+
babylonMaterial.bumpTexture = texture;
|
|
1891
1846
|
}));
|
|
1892
|
-
|
|
1893
|
-
|
|
1847
|
+
babylonMaterial.invertNormalMapX = !this._babylonScene.useRightHandedSystem;
|
|
1848
|
+
babylonMaterial.invertNormalMapY = this._babylonScene.useRightHandedSystem;
|
|
1849
|
+
if (material.normalTexture.scale != undefined && babylonMaterial.bumpTexture) {
|
|
1850
|
+
babylonMaterial.bumpTexture.level = material.normalTexture.scale;
|
|
1851
|
+
}
|
|
1852
|
+
babylonMaterial.forceIrradianceInFragment = true;
|
|
1894
1853
|
}
|
|
1895
|
-
let aoTexture;
|
|
1896
|
-
let aoStrength = 1.0;
|
|
1897
|
-
let emissionTexture;
|
|
1898
1854
|
if (material.occlusionTexture) {
|
|
1899
1855
|
material.occlusionTexture.nonColorData = true;
|
|
1900
1856
|
promises.push(this.loadTextureInfoAsync(`${context}/occlusionTexture`, material.occlusionTexture, (texture) => {
|
|
1901
1857
|
texture.name = `${babylonMaterial.name} (Occlusion)`;
|
|
1902
|
-
|
|
1858
|
+
babylonMaterial.ambientTexture = texture;
|
|
1903
1859
|
}));
|
|
1860
|
+
babylonMaterial.useAmbientInGrayScale = true;
|
|
1904
1861
|
if (material.occlusionTexture.strength != undefined) {
|
|
1905
|
-
|
|
1862
|
+
babylonMaterial.ambientTextureStrength = material.occlusionTexture.strength;
|
|
1906
1863
|
}
|
|
1907
1864
|
}
|
|
1908
1865
|
if (material.emissiveTexture) {
|
|
1909
1866
|
promises.push(this.loadTextureInfoAsync(`${context}/emissiveTexture`, material.emissiveTexture, (texture) => {
|
|
1910
1867
|
texture.name = `${babylonMaterial.name} (Emissive)`;
|
|
1911
|
-
|
|
1868
|
+
babylonMaterial.emissiveTexture = texture;
|
|
1912
1869
|
}));
|
|
1913
1870
|
}
|
|
1914
|
-
return Promise.all(promises).then(() => {
|
|
1915
|
-
// Set ambient occlusion and emissive textures using adapter
|
|
1916
|
-
if (aoTexture) {
|
|
1917
|
-
adapter.ambientOcclusionTexture = aoTexture;
|
|
1918
|
-
adapter.ambientOcclusionTextureStrength = aoStrength;
|
|
1919
|
-
}
|
|
1920
|
-
if (emissionTexture) {
|
|
1921
|
-
adapter.emissionColorTexture = emissionTexture;
|
|
1922
|
-
}
|
|
1923
|
-
});
|
|
1871
|
+
return Promise.all(promises).then(() => { });
|
|
1924
1872
|
}
|
|
1925
1873
|
/**
|
|
1926
1874
|
* Loads the alpha properties from a glTF material into a Babylon material.
|
|
@@ -1930,31 +1878,29 @@ export class GLTFLoader {
|
|
|
1930
1878
|
* @param babylonMaterial The Babylon material
|
|
1931
1879
|
*/
|
|
1932
1880
|
loadMaterialAlphaProperties(context, material, babylonMaterial) {
|
|
1933
|
-
if (!
|
|
1881
|
+
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
1934
1882
|
throw new Error(`${context}: Material type not supported`);
|
|
1935
1883
|
}
|
|
1936
|
-
const adapter = this._getOrCreateMaterialAdapter(babylonMaterial);
|
|
1937
|
-
const baseColorTexture = adapter.baseColorTexture;
|
|
1938
1884
|
const alphaMode = material.alphaMode || "OPAQUE" /* MaterialAlphaMode.OPAQUE */;
|
|
1939
1885
|
switch (alphaMode) {
|
|
1940
1886
|
case "OPAQUE" /* MaterialAlphaMode.OPAQUE */: {
|
|
1941
|
-
babylonMaterial.transparencyMode =
|
|
1887
|
+
babylonMaterial.transparencyMode = PBRMaterial.PBRMATERIAL_OPAQUE;
|
|
1942
1888
|
babylonMaterial.alpha = 1.0; // Force alpha to 1.0 for opaque mode.
|
|
1943
1889
|
break;
|
|
1944
1890
|
}
|
|
1945
1891
|
case "MASK" /* MaterialAlphaMode.MASK */: {
|
|
1946
|
-
babylonMaterial.transparencyMode =
|
|
1947
|
-
|
|
1948
|
-
if (
|
|
1949
|
-
|
|
1892
|
+
babylonMaterial.transparencyMode = PBRMaterial.PBRMATERIAL_ALPHATEST;
|
|
1893
|
+
babylonMaterial.alphaCutOff = material.alphaCutoff == undefined ? 0.5 : material.alphaCutoff;
|
|
1894
|
+
if (babylonMaterial.albedoTexture) {
|
|
1895
|
+
babylonMaterial.albedoTexture.hasAlpha = true;
|
|
1950
1896
|
}
|
|
1951
1897
|
break;
|
|
1952
1898
|
}
|
|
1953
1899
|
case "BLEND" /* MaterialAlphaMode.BLEND */: {
|
|
1954
|
-
babylonMaterial.transparencyMode =
|
|
1955
|
-
if (
|
|
1956
|
-
|
|
1957
|
-
|
|
1900
|
+
babylonMaterial.transparencyMode = PBRMaterial.PBRMATERIAL_ALPHABLEND;
|
|
1901
|
+
if (babylonMaterial.albedoTexture) {
|
|
1902
|
+
babylonMaterial.albedoTexture.hasAlpha = true;
|
|
1903
|
+
babylonMaterial.useAlphaFromAlbedoTexture = true;
|
|
1958
1904
|
}
|
|
1959
1905
|
break;
|
|
1960
1906
|
}
|