From aafc423a7298b0fc595c0209480474dc50c277f0 Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Sun, 21 Nov 2021 13:56:28 +0500 Subject: Added Gbuffer --- src/RenderConfigs.hpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/RenderConfigs.hpp (limited to 'src/RenderConfigs.hpp') diff --git a/src/RenderConfigs.hpp b/src/RenderConfigs.hpp new file mode 100644 index 0000000..6279169 --- /dev/null +++ b/src/RenderConfigs.hpp @@ -0,0 +1,38 @@ +#pragma once + +#include "Gal.hpp" + +class Gbuffer { + std::shared_ptr lightFramebuffer; + std::shared_ptr lightBuffer; + std::shared_ptr lightPipeline; + std::shared_ptr lightPipelineInstance; + std::shared_ptr color; + std::shared_ptr normal; + std::shared_ptr depthStencil; + std::shared_ptr geomFramebuffer; + + std::shared_ptr finalColor; + +public: + Gbuffer(size_t geomW, size_t geomH, size_t lightW, size_t lightH); + + std::shared_ptr GetGeometryTarget() { + return geomFramebuffer; + } + + std::shared_ptr GetFinalTexture() { + return finalColor; + } + + void Render() { + lightPipeline->Activate(); + lightPipelineInstance->Activate(); + lightPipelineInstance->Render(0, 6); + } + + void Clear() { + geomFramebuffer->Clear(); + lightFramebuffer->Clear(); + } +}; -- cgit v1.2.3