Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
ScreenSpaceAmbientOcclusion.hpp
1
#pragma once
2
3
#include <Common/Rendering/RendererFeature.hpp>
4
#include <Common/Rendering/RenderGraphBuilder.hpp>
5
#include <EngineCore/Assets/AssetReference.hpp>
6
#include <EngineCore/Assets/PipelineSet/GraphicsPipelineAsset.hpp>
7
8
namespace
Grindstone::GraphicsAPI
{
9
class
Buffer
;
10
class
Image
;
11
class
Sampler
;
12
class
DescriptorSet
;
13
class
DescriptorSetLayout
;
14
}
15
namespace
Grindstone::Renderer
{
16
class
ScreenSpaceAmbientOcclusion :
public
Rendering::RendererFeature
{
17
public
:
18
ScreenSpaceAmbientOcclusion() :
Rendering::RendererFeature
(
"ScreenSpaceAmbientOcclusion"
, Rendering::DeferredRenderGraphOrderEvent::ScreenSpaceAmbientOcclusion) {}
19
static
const
char
* GetStaticFeatureName() {
return
"ScreenSpaceAmbientOcclusion"
; }
20
virtual
void
Initialize()
override
;
21
virtual
void
Bind(
22
Grindstone::Renderer::RenderGraphBuilder
& renderGraphBuilder,
23
Grindstone::Renderer::RenderFrameContext
& context
24
)
override
;
25
26
private
:
27
Grindstone::AssetReference<Grindstone::GraphicsPipelineAsset>
ssaoPipelineSet;
28
void
CreateSsaoKernelAndNoise();
29
30
Grindstone::GraphicsAPI::Buffer
* ssaoUniformBuffer =
nullptr
;
31
Grindstone::GraphicsAPI::Image
* ssaoNoiseTexture =
nullptr
;
32
Grindstone::GraphicsAPI::Sampler
* screenSampler =
nullptr
;
33
Grindstone::GraphicsAPI::Sampler
* ssaoNoiseSampler =
nullptr
;
34
Grindstone::GraphicsAPI::DescriptorSetLayout
* ssaoInputDescriptorSetLayout =
nullptr
;
35
Grindstone::GraphicsAPI::DescriptorSet
* ssaoInputDescriptorSet =
nullptr
;
36
};
37
}
Grindstone::GraphicsAPI::Buffer
Definition
Buffer.hpp:49
Grindstone::GraphicsAPI::DescriptorSetLayout
Definition
DescriptorSetLayout.hpp:14
Grindstone::GraphicsAPI::DescriptorSet
Definition
DescriptorSet.hpp:15
Grindstone::GraphicsAPI::Image
Definition
Image.hpp:49
Grindstone::GraphicsAPI::Sampler
Definition
Sampler.hpp:49
Grindstone::Renderer::RenderGraphBuilder
Definition
RenderGraphBuilder.hpp:12
Grindstone::Rendering::RendererFeature
Definition
RendererFeature.hpp:10
Grindstone::GraphicsAPI
Definition
Buffer.hpp:9
Grindstone::Renderer
Definition
AttachmentInfo.hpp:17
Grindstone::AssetReference
Definition
AssetReference.hpp:45
Grindstone::Renderer::RenderFrameContext
Definition
RenderFrameContext.hpp:24
plugins
Grindstone.Renderer.Deferred
include
Features
ScreenSpaceAmbientOcclusion.hpp
Generated by
1.17.0