@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) • 2.16 kB
JavaScript
import{b as s}from"./glTFLoader.pure-Bdyl6AcK.esm.min.js";import{i as e,bo as r,bp as i}from"./index-BPURObVq.esm.min.js";import{e as n}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 o="KHR_materials_diffuse_transmission";class t{constructor(s){this.name=o,this.order=174,this._loader=s,this.enabled=this._loader.isExtensionUsed(o),this.enabled&&(s.parent.transparencyAsCoverage=!0)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,r,i){return s.LoadExtensionAsync(e,r,this.name,async(s,n)=>{const o=new Array;return o.push(this._loader.loadMaterialPropertiesAsync(e,r,i)),o.push(this._loadTranslucentPropertiesAsync(s,r,i,n)),await Promise.all(o).then(()=>{})})}_loadTranslucentPropertiesAsync(s,r,i,o){const t=this._loader._getOrCreateMaterialAdapter(i);t.configureSubsurface(),t.subsurfaceWeight=o.diffuseTransmissionFactor??0,t.subsurfaceWeight>0&&n(this._loader,i),t.diffuseTransmissionTint=void 0!==o.diffuseTransmissionColorFactor?e.FromArray(o.diffuseTransmissionColorFactor):e.White();const a=new Array;return o.diffuseTransmissionTexture&&(o.diffuseTransmissionTexture.nonColorData=!0,a.push(this._loader.loadTextureInfoAsync(`${s}/diffuseTransmissionTexture`,o.diffuseTransmissionTexture).then(s=>{s.name=`${i.name} (Diffuse Transmission)`,t.subsurfaceWeightTexture=s}))),o.diffuseTransmissionColorTexture&&a.push(this._loader.loadTextureInfoAsync(`${s}/diffuseTransmissionColorTexture`,o.diffuseTransmissionColorTexture).then(s=>{s.name=`${i.name} (Diffuse Transmission Color)`,t.diffuseTransmissionTintTexture=s})),Promise.all(a).then(()=>{})}}let a=!1;function m(){a||(a=!0,r(o),i(o,!0,s=>new t(s)))}m();export{t as KHR_materials_diffuse_transmission,m as RegisterKHR_materials_diffuse_transmission};
//# sourceMappingURL=KHR_materials_diffuse_transmission-y52xOzUe.esm.min.js.map