@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.9 kB
JavaScript
import{V as e,bq as i,aB as s,T as t,bH as o,bG as n}from"./index-yNtOWHHe.esm.min.js";import{b as a}from"./objectModelMapping-DJGnHmCN.esm.min.js";import{ArrayItem as l,GLTFLoader as r}from"./glTFLoader-DrZpsmpQ.esm.min.js";import"./bone-WlJTsCYz.esm.min.js";import"./skeleton-DrI_Z0uE.esm.min.js";import"./rawTexture-BOCcQuA1.esm.min.js";import"./assetContainer-Dkk4zkgP.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,l.Assign(this._lights)}}loadNodeAsync(o,n,d){return r.LoadExtensionAsync(o,n,this.name,(async(h,m)=>{let _,c;this._loader._allMaterialsDirtyRequired=!0;const b=await this._loader.loadNodeAsync(o,n,(t=>{c=l.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(_),r.AddPointerMetadata(_,h),d(t)}));let f;if(c.uri)f=await this._loader.loadUriAsync(o,c,c.uri);else{const e=l.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}))}}o(d),n(d,!0,(e=>new h(e)));export{h as EXT_lights_ies};
//# sourceMappingURL=EXT_lights_ies-9Z4QQ85J.esm.min.js.map