Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
ScreenSpaceReflectionsPass.hpp
1
#pragma once
2
3
#include <Common/Rendering/RenderGraphBuilder.hpp>
4
#include <EngineCore/Assets/AssetReference.hpp>
5
#include <EngineCore/Assets/PipelineSet/ComputePipelineAsset.hpp>
6
7
#include "GbufferPass.hpp"
8
9
namespace
Grindstone::Renderer
{
10
class
ScreenSpaceReflectionsPass
{
11
public
:
12
bool
Initialize();
13
Renderer::RenderGraphBuilderResourceRef
AddPass(
14
Grindstone::Renderer::RenderGraphBuilder
& renderGraphBuilder,
15
Renderer::RenderGraphBuilderResourceRef
inputRef,
16
Renderer::RenderGraphBuilderResourceRef
ambientOcclusionRef,
17
Grindstone::Renderer::GbufferData
& gbufferData
18
);
19
20
private
:
21
bool
FindEnvironmentMap(
22
const
entt::registry& registry,
23
const
Grindstone::AssetReference<Grindstone::TextureAsset>
brdfLut,
24
Grindstone::GraphicsAPI::DescriptorSet
* reflectionDescriptorSet,
25
Grindstone::GraphicsAPI::Image
*& currentEnvironmentMapImage
26
);
27
28
Grindstone::AssetReference<Grindstone::ComputePipelineAsset>
ssrPipelineSet;
29
Grindstone::GraphicsAPI::Sampler
* screenSampler =
nullptr
;
30
31
Grindstone::AssetReference<Grindstone::TextureAsset>
brdfLut;
32
Grindstone::GraphicsAPI::Image
* currentEnvironmentMapImage =
nullptr
;
33
Grindstone::GraphicsAPI::DescriptorSetLayout
* reflectionDescriptorSetLayout =
nullptr
;
34
Grindstone::GraphicsAPI::DescriptorSet
* reflectionDescriptorSet =
nullptr
;
35
};
36
}
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::ScreenSpaceReflectionsPass
Definition
ScreenSpaceReflectionsPass.hpp:10
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
ScreenSpaceReflectionsPass.hpp
Generated by
1.17.0