Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
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
11
namespace
Grindstone::Renderer
{
12
struct
ShadowPassReturnData
{
13
Renderer::RenderGraphBuilderResourceRef
shadowOutputRef;
14
};
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(
22
Grindstone::Renderer::RenderGraphBuilder
& renderGraphBuilder,
23
Grindstone::Renderer::RenderFrameContext
& context
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
}
Grindstone::Renderer::RenderGraphBuilder
Definition
RenderGraphBuilder.hpp:12
Grindstone::Rendering::RendererFeature
Definition
RendererFeature.hpp:10
Grindstone::Renderer
Definition
AttachmentInfo.hpp:17
Grindstone::Math::IntRect2D
Definition
Rect.hpp:33
Grindstone::Renderer::RenderFrameContext
Definition
RenderFrameContext.hpp:24
Grindstone::Renderer::RenderGraphBuilderResourceRef
Definition
RenderGraphResourceRef.hpp:51
Grindstone::Renderer::ShadowPassReturnData
Definition
Shadow.hpp:12
plugins
Grindstone.Renderer.Deferred
include
Features
Shadow.hpp
Generated by
1.17.0