Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
DebugPass.hpp
1#pragma once
2
3#include <Common/Rendering/RenderGraph.hpp>
4#include <EngineCore/Assets/AssetReference.hpp>
5#include <EngineCore/Assets/PipelineSet/GraphicsPipelineAsset.hpp>
6
7#include "GbufferPass.hpp"
8
10 class Buffer;
11}
12
13namespace Grindstone::Renderer {
14 enum class DeferredRenderMode : uint16_t {
15 Default,
16 Position,
17 PositionMod,
18 ViewPosition,
19 ViewPositionMod,
20 Depth,
21 DepthMod,
22 Normal,
23 ViewNormal,
24 Albedo,
25 Specular,
26 Roughness,
27 AmbientOcclusion,
28 Count
29 };
30
31 class DebugPass {
32 public:
33 bool Initialize();
35 DeferredRenderMode renderMode,
36 const glm::mat4& projectionMatrix,
37 GraphicsAPI::Buffer* vertexBuffer,
38 GraphicsAPI::Buffer* indexBuffer,
40 const GbufferData& gbufferData,
41 RenderGraphBuilderResourceRef ambientOcclusionRef,
43 );
44
45 private:
47 std::array<Grindstone::GraphicsAPI::DescriptorSet*, 3> debugDataDescriptorSet{};
48 std::array<Grindstone::GraphicsAPI::Buffer*, 3> debugDataUniformBuffer{};
49 GraphicsAPI::DescriptorSetLayout* descriptorSetLayout = nullptr;
50 Grindstone::GraphicsAPI::Sampler* screenSampler = nullptr;
51 };
52}
Definition Buffer.hpp:49
Definition DescriptorSetLayout.hpp:14
Definition Sampler.hpp:49
Definition DebugPass.hpp:31
Definition RenderGraphBuilder.hpp:12
Definition Buffer.hpp:9
Definition AttachmentInfo.hpp:15
Definition AssetReference.hpp:45
Definition GbufferPass.hpp:9
Definition RenderGraphResourceRef.hpp:51