From a12779bc153425407b131bce541c0bb97cccca39 Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Wed, 8 Dec 2021 20:33:09 +0500 Subject: Removed unnecessary framebuffers copying --- src/RenderConfigs.hpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/RenderConfigs.hpp') diff --git a/src/RenderConfigs.hpp b/src/RenderConfigs.hpp index d76647e..8ca5a9e 100644 --- a/src/RenderConfigs.hpp +++ b/src/RenderConfigs.hpp @@ -22,6 +22,34 @@ std::shared_ptr LoadVertexShader(std::string_view assetPath); std::shared_ptr LoadPixelShader(std::string_view assetPath); +class TextureFbCopy { + std::shared_ptr framebuffer; + std::shared_ptr fbBuffer; + std::shared_ptr pipeline; + std::shared_ptr pipelineInstance; +public: + + TextureFbCopy( + std::shared_ptr inputTexture, + std::shared_ptr outputTexture, + std::shared_ptr copyShader = nullptr); + + TextureFbCopy( + std::shared_ptr inputTexture, + std::shared_ptr outputFb, + std::shared_ptr copyShader = nullptr); + + void Clear() { + framebuffer->Clear(); + } + + void Copy() { + pipeline->Activate(); + pipelineInstance->Activate(); + pipelineInstance->Render(0, 6); + } +}; + class PostProcess { std::shared_ptr framebuffer; std::shared_ptr fbBuffer; -- cgit v1.2.3