Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Debug.hpp
1#pragma once
2
3#include <Common/Rendering/RendererFeature.hpp>
4#include <Common/Rendering/RenderGraph.hpp>
5#include <EngineCore/Assets/AssetReference.hpp>
6#include <EngineCore/Assets/PipelineSet/GraphicsPipelineAsset.hpp>
7
9 class Buffer;
10}
11
12namespace Grindstone::Renderer {
13 enum class DeferredRenderMode : uint16_t {
14 Default,
15 Position,
16 PositionMod,
17 ViewPosition,
18 ViewPositionMod,
19 Depth,
20 DepthMod,
21 Normal,
22 ViewNormal,
23 Albedo,
24 Specular,
25 Roughness,
26 AmbientOcclusion,
27 Count
28 };
29
30 class Debug : public Rendering::RendererFeature {
31 public:
32 Debug() : Rendering::RendererFeature("Debug", Rendering::DeferredRenderGraphOrderEvent::EndRendering) {}
33 static const char* GetStaticFeatureName() { return "Debug"; }
34 virtual void Initialize() override;
35 virtual void Bind(
38 ) override;
39
40 private:
42 std::array<Grindstone::GraphicsAPI::DescriptorSet*, 3> debugDataDescriptorSet{};
43 std::array<Grindstone::GraphicsAPI::Buffer*, 3> debugDataUniformBuffer{};
44 GraphicsAPI::DescriptorSetLayout* descriptorSetLayout = nullptr;
45 Grindstone::GraphicsAPI::Sampler* screenSampler = nullptr;
46 };
47}
Definition Buffer.hpp:49
Definition DescriptorSetLayout.hpp:14
Definition Sampler.hpp:49
Definition RenderGraphBuilder.hpp:12
Definition RendererFeature.hpp:10
Definition Buffer.hpp:9
Definition AttachmentInfo.hpp:17
Definition AssetReference.hpp:45
Definition RenderFrameContext.hpp:24