UNPKG

@babylonjs/viewer

Version:

The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.

3 lines (2 loc) 1.37 kB
import{bM as e,aH as o,bJ as r,bI as s}from"./index-Bw2N6w1y.esm.min.js";import{GLTFLoader as t}from"./glTFLoader-DEYqxGxH.esm.min.js";import"./bone-BwMp7T0B.esm.min.js";import"./skeleton-CkTZwWbM.esm.min.js";import"./rawTexture-CPAqHIA7.esm.min.js";import"./assetContainer-21j7tcC8.esm.min.js";import"./objectModelMapping-DX92iJ8M.esm.min.js";const a="KHR_materials_unlit";class i{constructor(e){this.name=a,this.order=210,this._loader=e,this.enabled=this._loader.isExtensionUsed(a)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,o,r){return t.LoadExtensionAsync(e,o,this.name,(async()=>await this._loadUnlitPropertiesAsync(e,o,r)))}_loadUnlitPropertiesAsync(r,s,t){if(!(t instanceof e))throw new Error(`${r}: Material type not supported`);const a=new Array;t.unlit=!0;const i=s.pbrMetallicRoughness;return i&&(i.baseColorFactor?(t.albedoColor=o.FromArray(i.baseColorFactor),t.alpha=i.baseColorFactor[3]):t.albedoColor=o.White(),i.baseColorTexture&&a.push(this._loader.loadTextureInfoAsync(`${r}/baseColorTexture`,i.baseColorTexture,(e=>{e.name=`${t.name} (Base Color)`,t.albedoTexture=e})))),s.doubleSided&&(t.backFaceCulling=!1,t.twoSidedLighting=!0),this._loader.loadMaterialAlphaProperties(r,s,t),Promise.all(a).then((()=>{}))}}r(a),s(a,!0,(e=>new i(e)));export{i as KHR_materials_unlit}; //# sourceMappingURL=KHR_materials_unlit-Cq-cRbMV.esm.min.js.map