@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.76 kB
JavaScript
import{bM as e,bJ as i,bI as s}from"./index-Bw2N6w1y.esm.min.js";import{GLTFLoader as n}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 r="KHR_materials_iridescence";class c{constructor(e){this.name=r,this.order=195,this._loader=e,this.enabled=this._loader.isExtensionUsed(r)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,i,s){return n.LoadExtensionAsync(e,i,this.name,(async(n,r)=>{const c=new Array;return c.push(this._loader.loadMaterialPropertiesAsync(e,i,s)),c.push(this._loadIridescencePropertiesAsync(n,r,s)),await Promise.all(c).then((()=>{}))}))}_loadIridescencePropertiesAsync(i,s,n){if(!(n instanceof e))throw new Error(`${i}: Material type not supported`);const r=new Array;return n.iridescence.isEnabled=!0,n.iridescence.intensity=s.iridescenceFactor??0,n.iridescence.indexOfRefraction=s.iridescenceIor??s.iridescenceIOR??1.3,n.iridescence.minimumThickness=s.iridescenceThicknessMinimum??100,n.iridescence.maximumThickness=s.iridescenceThicknessMaximum??400,s.iridescenceTexture&&r.push(this._loader.loadTextureInfoAsync(`${i}/iridescenceTexture`,s.iridescenceTexture,(e=>{e.name=`${n.name} (Iridescence)`,n.iridescence.texture=e}))),s.iridescenceThicknessTexture&&r.push(this._loader.loadTextureInfoAsync(`${i}/iridescenceThicknessTexture`,s.iridescenceThicknessTexture,(e=>{e.name=`${n.name} (Iridescence Thickness)`,n.iridescence.thicknessTexture=e}))),Promise.all(r).then((()=>{}))}}i(r),s(r,!0,(e=>new c(e)));export{c as KHR_materials_iridescence};
//# sourceMappingURL=KHR_materials_iridescence-C4LUNccI.esm.min.js.map