Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
RendererFeature.hpp
1
#pragma once
2
3
#include <string>
4
5
#include <Common/Rendering/RenderFrameContext.hpp>
6
#include <Common/Rendering/RenderGraphBuilder.hpp>
7
#include <Common/Rendering/RenderGraphOrderEvent.hpp>
8
9
namespace
Grindstone::Rendering
{
10
class
RendererFeature {
11
public
:
12
RendererFeature() =
delete
;
13
RendererFeature(
const
char
* featureName, uint32_t order) : featureName(featureName), renderGraphOrderEvent(order) {}
14
RendererFeature(
const
RendererFeature& o) =
delete
;
15
RendererFeature(RendererFeature&& o)
noexcept
=
delete
;
16
RendererFeature& operator=(
const
RendererFeature& o) =
delete
;
17
RendererFeature& operator=(RendererFeature&& o)
noexcept
=
delete
;
18
19
virtual
void
Initialize() {};
20
virtual
void
Bind(
21
Grindstone::Renderer::RenderGraphBuilder
& renderGraphBuilder,
22
Grindstone::Renderer::RenderFrameContext
& context
23
) = 0;
24
const
std::string& GetFeatureName()
const
{
return
featureName; }
25
uint32_t GetOrder()
const
{
return
renderGraphOrderEvent; }
26
virtual
uint32_t GetRenderGraphOrder() {
27
return
renderGraphOrderEvent;
28
}
29
30
protected
:
31
std::string featureName =
"[[Unnamed]]"
;
32
uint32_t renderGraphOrderEvent = 0;
33
};
34
}
Grindstone::Renderer::RenderGraphBuilder
Definition
RenderGraphBuilder.hpp:12
Grindstone::Rendering
Definition
AssetRendererFilter.hpp:6
Grindstone::Renderer::RenderFrameContext
Definition
RenderFrameContext.hpp:24
sources
code
Common
Rendering
RendererFeature.hpp
Generated by
1.17.0