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.77 kB
import{b as e}from"./glTFLoader.pure-Bdyl6AcK.esm.min.js";import{bo as i,bp as s}from"./index-BPURObVq.esm.min.js";import"./morphTargetManager-CdEb1BHc.esm.min.js";import"./bone.pure-BcPT5kCP.esm.min.js";import"./skeleton-DinTjF3y.esm.min.js";import"./assetContainer-CAncviZo.esm.min.js";import"./objectModelMapping-ClgDmo5Q.esm.min.js";import"./spotLight.pure-5s2DDDIt.esm.min.js";const r="KHR_materials_iridescence";class n{constructor(e){this.name=r,this.order=195,this._loader=e,this.enabled=this._loader.isExtensionUsed(r)}dispose(){this._loader=null}loadMaterialPropertiesAsync(i,s,r){return e.LoadExtensionAsync(i,s,this.name,async(e,n)=>{const t=new Array;return t.push(this._loader.loadMaterialPropertiesAsync(i,s,r)),t.push(this._loadIridescencePropertiesAsync(e,n,r)),await Promise.all(t).then(()=>{})})}_loadIridescencePropertiesAsync(e,i,s){const r=this._loader._getOrCreateMaterialAdapter(s),n=new Array;return r.thinFilmWeight=i.iridescenceFactor??0,r.thinFilmIor=i.iridescenceIor??i.iridescenceIOR??1.3,r.thinFilmThicknessMinimum=i.iridescenceThicknessMinimum??100,r.thinFilmThicknessMaximum=i.iridescenceThicknessMaximum??400,i.iridescenceTexture&&n.push(this._loader.loadTextureInfoAsync(`${e}/iridescenceTexture`,i.iridescenceTexture,e=>{e.name=`${s.name} (Iridescence)`,r.thinFilmWeightTexture=e})),i.iridescenceThicknessTexture&&n.push(this._loader.loadTextureInfoAsync(`${e}/iridescenceThicknessTexture`,i.iridescenceThicknessTexture,e=>{e.name=`${s.name} (Iridescence Thickness)`,r.thinFilmThicknessTexture=e})),Promise.all(n).then(()=>{})}}let t=!1;function c(){t||(t=!0,i(r),s(r,!0,e=>new n(e)))}c();export{n as KHR_materials_iridescence,c as RegisterKHR_materials_iridescence}; //# sourceMappingURL=KHR_materials_iridescence-CB_1sT0n.esm.min.js.map