Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
DeferredRendererFactory.hpp
1#pragma once
2
3#include <vector>
4#include <glm/glm.hpp>
5
6#include "DeferredRenderer.hpp"
7
8namespace Grindstone {
9 namespace GraphicsAPI {
10 class RenderPass;
11 };
12
13 class DeferredRendererFactory : public BaseRendererFactory {
14 public:
15 DeferredRendererFactory();
16 virtual Grindstone::BaseRenderer* CreateRenderer(GraphicsAPI::RenderPass* targetRenderPass) override;
17 virtual ~DeferredRendererFactory();
18
19
20 uint16_t GetRenderModeCount() const;
21 const Grindstone::BaseRenderer::RenderMode* GetRenderModes() const;
22
23 private:
24 GraphicsAPI::RenderPass* dofSeparationRenderPass = nullptr;
25 GraphicsAPI::RenderPass* dofBlurAndCombinationRenderPass = nullptr;
26 GraphicsAPI::RenderPass* lightingRenderPass = nullptr;
27 GraphicsAPI::RenderPass* forwardLitRenderPass = nullptr;
28 GraphicsAPI::RenderPass* ssaoRenderPass = nullptr;
29 GraphicsAPI::RenderPass* ssaoBlurRenderPass = nullptr;
30 GraphicsAPI::RenderPass* shadowMapRenderPass = nullptr;
31 GraphicsAPI::RenderPass* targetRenderPass = nullptr;
32 GraphicsAPI::RenderPass* mainRenderpass = nullptr;
33 GraphicsAPI::RenderPass* gbufferRenderpass = nullptr;
34
35 static std::array<Grindstone::BaseRenderer::RenderMode, static_cast<uint16_t>(DeferredRenderer::DeferredRenderMode::Count)> renderModes;
36
37 };
38}
Definition BaseRenderer.hpp:42
Definition BaseRenderer.hpp:19
Definition RenderPass.hpp:27
Definition BaseRenderer.hpp:21