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.99 kB
import{bM as e,C as r,aH as a,bJ as o,bI as s}from"./index-Bw2N6w1y.esm.min.js";import{GLTFLoader as t}from"./glTFLoader-DEYqxGxH.esm.min.js";import"./bone-BwMp7T0B.esm.min.js";import"./skeleton-CkTZwWbM.esm.min.js";import"./rawTexture-CPAqHIA7.esm.min.js";import"./assetContainer-21j7tcC8.esm.min.js";import"./objectModelMapping-DX92iJ8M.esm.min.js";const l="KHR_materials_specular";class n{constructor(e){this.name=l,this.order=190,this._loader=e,this.enabled=this._loader.isExtensionUsed(l)}dispose(){this._loader=null}loadMaterialPropertiesAsync(a,o,s){return t.LoadExtensionAsync(a,o,this.name,(async(t,l)=>{const n=new Array;if(n.push(this._loader.loadMaterialPropertiesAsync(a,o,s)),n.push(this._loadSpecularPropertiesAsync(t,l,s)),l.extensions&&l.extensions.EXT_materials_specular_edge_color&&s instanceof e){l.extensions.EXT_materials_specular_edge_color.specularEdgeColorEnabled&&(s.brdf.dielectricSpecularModel=r.MATERIAL_DIELECTRIC_SPECULAR_MODEL_OPENPBR,s.brdf.conductorSpecularModel=r.MATERIAL_CONDUCTOR_SPECULAR_MODEL_OPENPBR)}return await Promise.all(n).then((()=>{}))}))}_loadSpecularPropertiesAsync(r,o,s){if(!(s instanceof e))throw new Error(`${r}: Material type not supported`);const t=new Array;return void 0!==o.specularFactor&&(s.metallicF0Factor=o.specularFactor),void 0!==o.specularColorFactor&&(s.metallicReflectanceColor=a.FromArray(o.specularColorFactor)),o.specularTexture&&(o.specularTexture.nonColorData=!0,t.push(this._loader.loadTextureInfoAsync(`${r}/specularTexture`,o.specularTexture,(e=>{e.name=`${s.name} (Specular)`,s.metallicReflectanceTexture=e,s.useOnlyMetallicFromMetallicReflectanceTexture=!0})))),o.specularColorTexture&&t.push(this._loader.loadTextureInfoAsync(`${r}/specularColorTexture`,o.specularColorTexture,(e=>{e.name=`${s.name} (Specular Color)`,s.reflectanceTexture=e}))),Promise.all(t).then((()=>{}))}}o(l),s(l,!0,(e=>new n(e)));export{n as KHR_materials_specular}; //# sourceMappingURL=KHR_materials_specular-Djqj7-Rh.esm.min.js.map