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) 2.01 kB
import{V as e,aL as i,i as s,m as t,bo as o,bp as n}from"./index-BPURObVq.esm.min.js";import{S as a}from"./spotLight.pure-5s2DDDIt.esm.min.js";import{A as r,b as l}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";const d="EXT_lights_ies";class h{constructor(e){this.name=d,this._loader=e,this.enabled=this._loader.isExtensionUsed(d)}dispose(){this._loader=null,delete this._lights}onLoading(){const e=this._loader.gltf.extensions;if(e&&e[this.name]){const i=e[this.name];this._lights=i.lights,r.Assign(this._lights)}}loadNodeAsync(o,n,d){return l.LoadExtensionAsync(o,n,this.name,async(h,m)=>{let _,c;this._loader._allMaterialsDirtyRequired=!0;const b=await this._loader.loadNodeAsync(o,n,t=>{c=r.Get(h,this._lights,m.light);const o=c.name||t.name;this._loader.babylonScene._blockEntityCollection=!!this._loader._assetContainer,_=new a(o,e.Zero(),e.Backward(),0,1,this._loader.babylonScene),_.angle=Math.PI/2,_.innerAngle=0,_._parentContainer=this._loader._assetContainer,this._loader.babylonScene._blockEntityCollection=!1,c._babylonLight=_,_.falloffType=i.FALLOFF_GLTF,_.diffuse=m.color?s.FromArray(m.color):s.White(),_.intensity=m.multiplier||1,_.range=Number.MAX_VALUE,_.parent=t,this._loader._babylonLights.push(_),l.AddPointerMetadata(_,h),d(t)});let f;if(c.uri)f=await this._loader.loadUriAsync(o,c,c.uri);else{const e=r.Get(`${o}/bufferView`,this._loader.gltf.bufferViews,c.bufferView);f=await this._loader.loadBufferViewAsync(`/bufferViews/${e.index}`,e)}return _.iesProfileTexture=new t(_.name+"_iesProfile",this._loader.babylonScene,!0,!1,void 0,null,null,f,!0,void 0,void 0,void 0,void 0,".ies"),b})}}let m=!1;function _(){m||(m=!0,o(d),n(d,!0,e=>new h(e)))}_();export{h as EXT_lights_ies,_ as RegisterEXT_lights_ies}; //# sourceMappingURL=EXT_lights_ies-DIk1XXIZ.esm.min.js.map