Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
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
10 class Buffer;
11 class Image;
12 class Sampler;
13 class DescriptorSet;
15}
16namespace Grindstone::Renderer {
18 public:
19 bool Initialize();
21 GraphicsAPI::Buffer* vertexBuffer,
22 GraphicsAPI::Buffer* indexBuffer,
24 const GbufferData& gbufferData
25 );
26
27 private:
29 void CreateSsaoKernelAndNoise();
30
31 Grindstone::GraphicsAPI::Buffer* ssaoUniformBuffer;
32 Grindstone::GraphicsAPI::Image* ssaoNoiseTexture;
34 Grindstone::GraphicsAPI::Sampler* ssaoNoiseSampler;
35 Grindstone::GraphicsAPI::DescriptorSetLayout* ssaoInputDescriptorSetLayout;
36 Grindstone::GraphicsAPI::DescriptorSet* ssaoInputDescriptorSet;
37 };
38}
Definition Buffer.hpp:49
Definition DescriptorSetLayout.hpp:14
Definition DescriptorSet.hpp:15
Definition Image.hpp:49
Definition Sampler.hpp:49
Definition RenderGraphBuilder.hpp:12
Definition ScreenSpaceAmbientOcclusionPass.hpp:17
Definition Buffer.hpp:9
Definition AttachmentInfo.hpp:15
Definition AssetReference.hpp:45
Definition GbufferPass.hpp:9
Definition RenderGraphResourceRef.hpp:51