VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
renderPassShadowLocalClustered.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2025-2026 Arnis Lektauers
3//
4// Created by Arnis on 01.10.2025.
5//
6#pragma once
7
8#include "shadowRenderer.h"
11#include "scene/frameGraph.h"
12#include "scene/light.h"
13
14namespace visutwin::canvas
15{
21 {
22 public:
23 RenderPassShadowLocalClustered(const std::shared_ptr<GraphicsDevice>& device,
24 ShadowRenderer* shadowRenderer, ShadowRendererLocal* shadowRendererLocal)
25 : RenderPass(device), _shadowRenderer(shadowRenderer), _shadowRendererLocal(shadowRendererLocal) {}
26
27 // Update the render pass with the current frame's local lights
28 void update(const std::vector<Light*>& localLights);
29
30 private:
31 ShadowRenderer* _shadowRenderer;
32 ShadowRendererLocal* _shadowRendererLocal;
33 };
34}
std::shared_ptr< GraphicsDevice > device() const
Definition renderPass.h:124
RenderPass(const std::shared_ptr< GraphicsDevice > &device)
Definition renderPass.h:66
RenderPassShadowLocalClustered(const std::shared_ptr< GraphicsDevice > &device, ShadowRenderer *shadowRenderer, ShadowRendererLocal *shadowRendererLocal)
void update(const std::vector< Light * > &localLights)