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.76 kB
import{bK as e,bH as i,bG as s}from"./index-yNtOWHHe.esm.min.js";import{GLTFLoader as n}from"./glTFLoader-DrZpsmpQ.esm.min.js";import"./bone-WlJTsCYz.esm.min.js";import"./skeleton-DrI_Z0uE.esm.min.js";import"./rawTexture-BOCcQuA1.esm.min.js";import"./assetContainer-Dkk4zkgP.esm.min.js";import"./objectModelMapping-DJGnHmCN.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-o_t2bv3J.esm.min.js.map