1import{_ as n,V as r,M as C,j as h,i as z,a as y,n as v,s as I}from"./fileTools.pure-O3hflNMy.js";import{L as _}from"./light-KoECxAgJ.js";import{N as b}from"./tier3-babylon-z6xMXPxH.js";import"./index-DY6XcbtQ.js";import"./smartArray-B7wVGkJ5.js";import"./tools.pure-PAKPbutq.js";import"./thinEngine-DI9LWTqR.js";import"./helperFunctions-D7-zXdUR.js";let g=(()=>{var o;let s=_,l,u=[],d=[],f,c=[],m=[];return o=class extends s{constructor(t,e,i,L){super(t,i,L),this.groundColor=n(this,u,new y(0,0,0)),this.direction=(n(this,d),n(this,c,void 0)),n(this,m),this.direction=e||r.Up()}_buildUniformLayout(){this._uniformBuffer.addUniform("vLightData",4),this._uniformBuffer.addUniform("vLightDiffuse",4),this._uniformBuffer.addUniform("vLightSpecular",4),this._uniformBuffer.addUniform("vLightGround",3),this._uniformBuffer.addUniform("shadowsInfo",3),this._uniformBuffer.addUniform("depthValues",2),this._uniformBuffer.create()}getClassName(){return"HemisphericLight"}setDirectionToTarget(t){return this.direction=r.Normalize(t.subtract(r.Zero())),this.direction}getShadowGenerator(){return null}transferToEffect(t,e){const i=r.Normalize(this.direction);return this._uniformBuffer.updateFloat4("vLightData",i.x,i.y,i.z,0,e),this._uniformBuffer.updateColor3("vLightGround",this.groundColor.scale(this.intensity),e),this}transferToNodeMaterialEffect(t,e){const i=r.Normalize(this.direction);return t.setFloat3(e,i.x,i.y,i.z),this}computeWorldMatrix(){return this._worldMatrix||(this._worldMatrix=C.Identity()),this._worldMatrix}getTypeID(){return _.LIGHTTYPEID_HEMISPHERICLIGHT}prepareLightSpecificDefines(t,e){t["HEMILIGHT"+e]=!0}},(()=>{const a=typeof Symbol=="function"&&Symbol.metadata?Object.create(s[Symbol.metadata]??null):void 0;l=[v()],f=[I()],h(null,null,l,{kind:"field",name:"groundColor",static:!1,private:!1,access:{has:t=>"groundColor"in t,get:t=>t.groundColor,set:(t,e)=>{t.groundColor=e}},metadata:a},u,d),h(null,null,f,{kind:"field",name:"direction",static:!1,private:!1,access:{has:t=>"direction"in t,get:t=>t.direction,set:(t,e)=>{t.direction=e}},metadata:a},c,m),a&&Object.defineProperty(o,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})})(),o})(),p=!1;function B(){p||(p=!0,b.AddNodeConstructor("Light_Type_3",(o,s)=>()=>new g(o,r.Zero(),s)),z("BABYLON.HemisphericLight",g))}B();export{g as HemisphericLight,B as RegisterHemisphericLight};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.