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{b as s}from"./glTFLoader.pure-Bdyl6AcK.esm.min.js";import{bo as e,bp as r}from"./index-BPURObVq.esm.min.js";import{e as t}from"./transmissionHelper-DREwgz9m.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";import"./renderTargetTexture-BannnLgS.esm.min.js";import"./tools-BGvNItez.esm.min.js";const n="KHR_materials_transmission";class i{constructor(s){this.name=n,this.order=175,this._loader=s,this.enabled=this._loader.isExtensionUsed(n),this.enabled&&(s.parent.transparencyAsCoverage=!0)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,r,t){return s.LoadExtensionAsync(e,r,this.name,async(s,n)=>{const i=new Array;return i.push(this._loader.loadMaterialPropertiesAsync(e,r,t)),i.push(this._loadTransparentPropertiesAsync(s,r,t,n)),await Promise.all(i).then(()=>{})})}_loadTransparentPropertiesAsync(s,e,r,n){const i=this._loader._getOrCreateMaterialAdapter(r),o=void 0!==n.transmissionFactor?n.transmissionFactor:0;if(0===o||!i)return Promise.resolve();i.configureTransmission(),i.transmissionWeight=o,o>0&&t(this._loader,r);let a=Promise.resolve(null);return n.transmissionTexture&&(n.transmissionTexture.nonColorData=!0,a=this._loader.loadTextureInfoAsync(`${s}/transmissionTexture`,n.transmissionTexture,s=>{s.name=`${r.name} (Transmission)`,i.transmissionWeightTexture=s})),a.then(()=>{})}}let o=!1;function a(){o||(o=!0,e(n),r(n,!0,s=>new i(s)))}a();export{i as KHR_materials_transmission,a as RegisterKHR_materials_transmission}; //# sourceMappingURL=KHR_materials_transmission-7OORsyKT.esm.min.js.map