diff options
author | LaG1924 <lag1924@gmail.com> | 2021-11-21 09:56:28 +0100 |
---|---|---|
committer | LaG1924 <lag1924@gmail.com> | 2021-11-21 10:26:47 +0100 |
commit | aafc423a7298b0fc595c0209480474dc50c277f0 (patch) | |
tree | 06549c939c99cfd8a6f3390362eea2a5c5b88b9e /src/RenderConfigs.hpp | |
parent | Fixed some broken graphics features (diff) | |
download | AltCraft-aafc423a7298b0fc595c0209480474dc50c277f0.tar AltCraft-aafc423a7298b0fc595c0209480474dc50c277f0.tar.gz AltCraft-aafc423a7298b0fc595c0209480474dc50c277f0.tar.bz2 AltCraft-aafc423a7298b0fc595c0209480474dc50c277f0.tar.lz AltCraft-aafc423a7298b0fc595c0209480474dc50c277f0.tar.xz AltCraft-aafc423a7298b0fc595c0209480474dc50c277f0.tar.zst AltCraft-aafc423a7298b0fc595c0209480474dc50c277f0.zip |
Diffstat (limited to 'src/RenderConfigs.hpp')
-rw-r--r-- | src/RenderConfigs.hpp | 38 |
1 files changed, 38 insertions, 0 deletions
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<Gal::Framebuffer> lightFramebuffer; + std::shared_ptr<Gal::Buffer> lightBuffer; + std::shared_ptr<Gal::Pipeline> lightPipeline; + std::shared_ptr<Gal::PipelineInstance> lightPipelineInstance; + std::shared_ptr<Gal::Texture> color; + std::shared_ptr<Gal::Texture> normal; + std::shared_ptr<Gal::Texture> depthStencil; + std::shared_ptr<Gal::Framebuffer> geomFramebuffer; + + std::shared_ptr<Gal::Texture> finalColor; + +public: + Gbuffer(size_t geomW, size_t geomH, size_t lightW, size_t lightH); + + std::shared_ptr<Gal::Framebuffer> GetGeometryTarget() { + return geomFramebuffer; + } + + std::shared_ptr<Gal::Texture> GetFinalTexture() { + return finalColor; + } + + void Render() { + lightPipeline->Activate(); + lightPipelineInstance->Activate(); + lightPipelineInstance->Render(0, 6); + } + + void Clear() { + geomFramebuffer->Clear(); + lightFramebuffer->Clear(); + } +}; |