Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
ScreenSpaceReflections.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/ComputePipelineAsset.hpp>
7
8namespace Grindstone::Renderer {
9 class ScreenSpaceReflections : public Rendering::RendererFeature {
10 public:
11 ScreenSpaceReflections() : Rendering::RendererFeature("ScreenSpaceReflections", Rendering::DeferredRenderGraphOrderEvent::SpecularSSR) {}
12 static const char* GetStaticFeatureName() { return "ScreenSpaceReflections"; }
13 virtual void Initialize() override;
14 virtual void Bind(
17 ) override;
18
19 private:
20 bool FindEnvironmentMap(
21 const entt::registry& registry,
23 Grindstone::GraphicsAPI::DescriptorSet* reflectionDescriptorSet,
24 Grindstone::GraphicsAPI::Image*& currentEnvironmentMapImage
25 );
26
28 Grindstone::GraphicsAPI::Sampler* screenSampler = nullptr;
29
31 Grindstone::GraphicsAPI::Image* currentEnvironmentMapImage = nullptr;
32 Grindstone::GraphicsAPI::DescriptorSetLayout* reflectionDescriptorSetLayout = nullptr;
33 Grindstone::GraphicsAPI::DescriptorSet* reflectionDescriptorSet = nullptr;
34 };
35}
Definition DescriptorSetLayout.hpp:14
Definition DescriptorSet.hpp:15
Definition Image.hpp:49
Definition Sampler.hpp:49
Definition RenderGraphBuilder.hpp:12
Definition RendererFeature.hpp:10
Definition AttachmentInfo.hpp:17
Definition AssetReference.hpp:45
Definition RenderFrameContext.hpp:24