@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
2 lines (1 loc) • 721 B
JavaScript
import{Vec2 as t}from"../../core/math/vec2.js";import{random as e}from"../../core/math/random.js";import{LIGHTTYPE_DIRECTIONAL as o}from"../../scene/constants.js";import{BakeLight as i}from"./bake-light.js";const r=new t;class s extends i{constructor(t,e){super(t.scene,e,t.lightingParams)}get numVirtualLights(){return this.light.type===o?this.light.bakeNumSamples:1}prepareVirtualLight(t,o){const i=this.light;if(i._node.setLocalRotation(this.rotation),t>0){const s=i.bakeArea;e.circlePointDeterministic(r,t,o),r.mulScalar(.5*s),i._node.rotateLocal(r.x,0,r.y)}i._node.getWorldTransform();const s=this.scene.gammaCorrection?2.2:1,n=Math.pow(this.intensity,s);i.intensity=Math.pow(n/o,1/s)}}export{s as BakeLightSimple};