@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
2 lines (1 loc) • 941 B
JavaScript
import{RenderPass as e}from"../../platform/graphics/render-pass.js";import{RenderPassCookieRenderer as s}from"./render-pass-cookie-renderer.js";import{RenderPassShadowLocalClustered as r}from"./render-pass-shadow-local-clustered.js";class o extends e{constructor(e,o,a,t,d){super(e),this.renderer=o,this.frameGraph=null,this.cookiesRenderPass=s.create(d.cookieRenderTarget,d.cubeSlotsOffsets),this.beforePasses.push(this.cookiesRenderPass),this.shadowRenderPass=new r(e,a,t),this.beforePasses.push(this.shadowRenderPass)}update(e,s,r,o,a){this.frameGraph=e,this.cookiesRenderPass.enabled=r,r&&this.cookiesRenderPass.update(o),this.shadowRenderPass.enabled=s,s&&this.shadowRenderPass.update(a)}destroy(){this.cookiesRenderPass.destroy(),this.cookiesRenderPass=null}execute(){const{renderer:e}=this,{scene:s}=e;e.worldClustersAllocator.update(this.frameGraph.renderPasses,s.gammaCorrection,s.lighting)}}export{o as RenderPassUpdateClustered};