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.91 kB
import{i as e,bo as s,bp as r}from"./index-BPURObVq.esm.min.js";import{b as o}from"./glTFLoader.pure-Bdyl6AcK.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 a="KHR_materials_pbrSpecularGlossiness";class t{constructor(e){this.name=a,this.order=200,this._loader=e,this.enabled=this._loader.isExtensionUsed(a)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,s,r){return o.LoadExtensionAsync(e,s,this.name,async(o,a)=>{const t=new Array;return t.push(this._loader.loadMaterialBasePropertiesAsync(e,s,r)),t.push(this._loadSpecularGlossinessPropertiesAsync(o,a,r)),this._loader.loadMaterialAlphaProperties(e,s,r),await Promise.all(t).then(()=>{})})}_loadSpecularGlossinessPropertiesAsync(s,r,o){const a=this._loader._getOrCreateMaterialAdapter(o),t=new Array;return a.configureSpecularGlossiness(),r.diffuseFactor?(a.baseColor=e.FromArray(r.diffuseFactor),o.alpha=r.diffuseFactor[3]):a.baseColor=e.White(),a.specularColor=r.specularFactor?e.FromArray(r.specularFactor):e.White(),a.glossiness=null==r.glossinessFactor?1:r.glossinessFactor,r.diffuseTexture&&t.push(this._loader.loadTextureInfoAsync(`${s}/diffuseTexture`,r.diffuseTexture,e=>{e.name=`${o.name} (Diffuse)`,a.baseColorTexture=e})),r.specularGlossinessTexture&&t.push(this._loader.loadTextureInfoAsync(`${s}/specularGlossinessTexture`,r.specularGlossinessTexture,e=>{e.name=`${o.name} (Specular Glossiness)`,a.specularColorTexture=e})),Promise.all(t).then(()=>{})}}let i=!1;function l(){i||(i=!0,s(a),r(a,!0,e=>new t(e)))}l();export{t as KHR_materials_pbrSpecularGlossiness,l as RegisterKHR_materials_pbrSpecularGlossiness}; //# sourceMappingURL=KHR_materials_pbrSpecularGlossiness-C6KOaehe.esm.min.js.map