VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
renderPassShadowLocalNonClustered.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 Lektauers on 06.12.2025.
5//
6#pragma once
7
9
10#include "shadowRenderer.h"
11
12namespace visutwin::canvas {
18 {
19 public:
20 RenderPassShadowLocalNonClustered(const std::shared_ptr<GraphicsDevice>& device, ShadowRenderer* shadowRenderer,
21 Light* light, int face, bool applyVsm);
22 void execute() override;
23
24 private:
25 ShadowRenderer* _shadowRenderer;
26 Light* _light;
27 Camera* _shadowCamera;
28 std::shared_ptr<GraphicsDevice> _graphicsDevice;
29 int _face;
30 bool _applyVsm;
31 };
32}
Perspective or orthographic camera with projection matrix, jitter (TAA), and render target binding.
Definition camera.h:40
Directional, point, spot, or area light with shadow mapping and cookie projection.
Definition light.h:54
std::shared_ptr< GraphicsDevice > device() const
Definition renderPass.h:124
RenderPass(const std::shared_ptr< GraphicsDevice > &device)
Definition renderPass.h:66
RenderPassShadowLocalNonClustered(const std::shared_ptr< GraphicsDevice > &device, ShadowRenderer *shadowRenderer, Light *light, int face, bool applyVsm)