Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
ScreenSpaceAmbientOcclusionPass.hpp
1
#pragma once
2
3
#include <Common/Rendering/RenderGraphBuilder.hpp>
4
#include <EngineCore/Assets/AssetReference.hpp>
5
#include <EngineCore/Assets/PipelineSet/GraphicsPipelineAsset.hpp>
6
7
#include "GbufferPass.hpp"
8
9
namespace
Grindstone::GraphicsAPI
{
10
class
Buffer
;
11
class
Image
;
12
class
Sampler
;
13
class
DescriptorSet
;
14
class
DescriptorSetLayout
;
15
}
16
namespace
Grindstone::Renderer
{
17
class
ScreenSpaceAmbientOcclusionPass
{
18
public
:
19
bool
Initialize();
20
RenderGraphBuilderResourceRef
AddPass(
21
GraphicsAPI::Buffer
* vertexBuffer,
22
GraphicsAPI::Buffer
* indexBuffer,
23
Grindstone::Renderer::RenderGraphBuilder
& renderGraph,
24
const
GbufferData
& gbufferData
25
);
26
27
private
:
28
Grindstone::AssetReference<Grindstone::GraphicsPipelineAsset>
ssaoPipelineSet;
29
void
CreateSsaoKernelAndNoise();
30
31
Grindstone::GraphicsAPI::Buffer
* ssaoUniformBuffer;
32
Grindstone::GraphicsAPI::Image
* ssaoNoiseTexture;
33
Grindstone::GraphicsAPI::Sampler
* screenSampler;
34
Grindstone::GraphicsAPI::Sampler
* ssaoNoiseSampler;
35
Grindstone::GraphicsAPI::DescriptorSetLayout
* ssaoInputDescriptorSetLayout;
36
Grindstone::GraphicsAPI::DescriptorSet
* ssaoInputDescriptorSet;
37
};
38
}
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::Renderer::ScreenSpaceAmbientOcclusionPass
Definition
ScreenSpaceAmbientOcclusionPass.hpp:17
Grindstone::GraphicsAPI
Definition
Buffer.hpp:9
Grindstone::Renderer
Definition
AttachmentInfo.hpp:15
Grindstone::AssetReference
Definition
AssetReference.hpp:45
Grindstone::Renderer::GbufferData
Definition
GbufferPass.hpp:9
Grindstone::Renderer::RenderGraphBuilderResourceRef
Definition
RenderGraphResourceRef.hpp:51
plugins
Grindstone.Renderer.Deferred
include
Passes
ScreenSpaceAmbientOcclusionPass.hpp
Generated by
1.17.0