Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Shadow.hpp
1#pragma once
2
3#include <functional>
4
5#include <Common/Rendering/RendererFeature.hpp>
6#include <Common/Rendering/RenderGraph.hpp>
7#include <Common/Rendering/GeometryRenderingStats.hpp>
8#include <EngineCore/Assets/AssetReference.hpp>
9#include <EngineCore/Assets/PipelineSet/GraphicsPipelineAsset.hpp>
10
11namespace Grindstone::Renderer {
15
16 class Shadow : public Rendering::RendererFeature {
17 public:
18 Shadow() : Rendering::RendererFeature("Shadow", Rendering::DeferredRenderGraphOrderEvent::RenderingDirectionalShadows) {}
19 static const char* GetStaticFeatureName() { return "Shadow"; }
20 virtual void Initialize() override;
21 virtual void Bind(
24 ) override;
25
26 protected:
27 void PrepareAtlas(uint32_t totalShadowMapCount);
28 bool GetAtlasRenderArea(Grindstone::Math::IntRect2D& rect);
29 uint32_t currentAtlasIndex = 0;
30 uint32_t shadowResolution = 512;
31 uint32_t maxAtlasCount = 0;
32 };
33}
Definition RenderGraphBuilder.hpp:12
Definition RendererFeature.hpp:10
Definition AttachmentInfo.hpp:17
Definition Rect.hpp:33
Definition RenderFrameContext.hpp:24
Definition RenderGraphResourceRef.hpp:51