From fd994ca93d1a1eea24b34adea94a4562512d0d2e Mon Sep 17 00:00:00 2001 From: Teejoon Date: Mon, 7 Mar 2016 17:52:47 +0100 Subject: [PATCH] Deleting texture thats getting rended too. --- assets | 2 +- include/Engine/Rendering/DrawBloomPass.h | 2 +- include/Engine/Rendering/DrawFinalPass.h | 2 +- include/Engine/Rendering/Renderer.h | 1 + include/Engine/Rendering/SSAOPass.h | 2 +- src/Engine/Rendering/DrawBloomPass.cpp | 5 +++++ src/Engine/Rendering/DrawFinalPass.cpp | 8 ++++++++ src/Engine/Rendering/PickingPass.cpp | 3 ++- src/Engine/Rendering/Renderer.cpp | 13 +++++++++++++ src/Engine/Rendering/SSAOPass.cpp | 7 +++++++ 10 files changed, 40 insertions(+), 5 deletions(-) diff --git a/assets b/assets index 52ea74c5..3a7f7829 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit 52ea74c5d5996ebcd7b064e0a8be469c9f07926e +Subproject commit 3a7f7829586100fc56cc1ae4d61d6ff2d3ce1770 diff --git a/include/Engine/Rendering/DrawBloomPass.h b/include/Engine/Rendering/DrawBloomPass.h index ee3a8489..e6a87c11 100644 --- a/include/Engine/Rendering/DrawBloomPass.h +++ b/include/Engine/Rendering/DrawBloomPass.h @@ -13,7 +13,7 @@ class DrawBloomPass { public: DrawBloomPass(IRenderer* renderer, ConfigFile* config); - ~DrawBloomPass() { } + ~DrawBloomPass(); void InitializeTextures(); void InitializeFrameBuffers(); void InitializeShaderPrograms(); diff --git a/include/Engine/Rendering/DrawFinalPass.h b/include/Engine/Rendering/DrawFinalPass.h index cfddd5c6..b7ba96ad 100644 --- a/include/Engine/Rendering/DrawFinalPass.h +++ b/include/Engine/Rendering/DrawFinalPass.h @@ -16,7 +16,7 @@ class DrawFinalPass { public: DrawFinalPass(IRenderer* renderer, LightCullingPass* lightCullingPass, CubeMapPass* cubeMapPass, SSAOPass* ssaoPass); - ~DrawFinalPass() { } + ~DrawFinalPass(); void InitializeTextures(); void InitializeFrameBuffers(); void InitializeShaderPrograms(); diff --git a/include/Engine/Rendering/Renderer.h b/include/Engine/Rendering/Renderer.h index a64a4aa3..4f74ad44 100644 --- a/include/Engine/Rendering/Renderer.h +++ b/include/Engine/Rendering/Renderer.h @@ -36,6 +36,7 @@ public: : m_EventBroker(eventBroker) , m_Config(config) { } + ~Renderer(); virtual void Initialize() override; virtual void Update(double dt) override; diff --git a/include/Engine/Rendering/SSAOPass.h b/include/Engine/Rendering/SSAOPass.h index 1cb28009..ba92b6dc 100644 --- a/include/Engine/Rendering/SSAOPass.h +++ b/include/Engine/Rendering/SSAOPass.h @@ -14,7 +14,7 @@ class SSAOPass { public: SSAOPass(IRenderer* renderer, ConfigFile* config); - ~SSAOPass() { }; + ~SSAOPass(); void ChangeQuality(int quality); diff --git a/src/Engine/Rendering/DrawBloomPass.cpp b/src/Engine/Rendering/DrawBloomPass.cpp index 73f73cc4..2230e99a 100644 --- a/src/Engine/Rendering/DrawBloomPass.cpp +++ b/src/Engine/Rendering/DrawBloomPass.cpp @@ -9,6 +9,11 @@ DrawBloomPass::DrawBloomPass(IRenderer* renderer, ConfigFile* config) ChangeQuality(m_Config->Get("GLOW.Quality", 2)); } +DrawBloomPass::~DrawBloomPass() { + CommonFunctions::DeleteTexture(&m_GaussianTexture_horiz); + CommonFunctions::DeleteTexture(&m_GaussianTexture_vert); +} + void DrawBloomPass::InitializeTextures() { m_BlackTexture = CommonFunctions::LoadTexture("Textures/Core/Black.png", false); diff --git a/src/Engine/Rendering/DrawFinalPass.cpp b/src/Engine/Rendering/DrawFinalPass.cpp index a610fab1..1bd0b82b 100644 --- a/src/Engine/Rendering/DrawFinalPass.cpp +++ b/src/Engine/Rendering/DrawFinalPass.cpp @@ -12,6 +12,14 @@ DrawFinalPass::DrawFinalPass(IRenderer* renderer, LightCullingPass* lightCulling InitializeFrameBuffers(); } +DrawFinalPass::~DrawFinalPass(){ + CommonFunctions::DeleteTexture(&m_BloomTexture); + CommonFunctions::DeleteTexture(&m_SceneTexture); + CommonFunctions::DeleteTexture(&m_DepthBuffer); + CommonFunctions::DeleteTexture(&m_ShieldBuffer); + CommonFunctions::DeleteTexture(&m_CubeMapTexture); +} + void DrawFinalPass::InitializeTextures() { m_WhiteTexture = CommonFunctions::LoadTexture("Textures/Core/White.png", false); diff --git a/src/Engine/Rendering/PickingPass.cpp b/src/Engine/Rendering/PickingPass.cpp index 57e10aff..f21e3f94 100644 --- a/src/Engine/Rendering/PickingPass.cpp +++ b/src/Engine/Rendering/PickingPass.cpp @@ -12,7 +12,8 @@ PickingPass::PickingPass(IRenderer* renderer, EventBroker* eb) PickingPass::~PickingPass() { - + CommonFunctions::DeleteTexture(&m_PickingTexture); + CommonFunctions::DeleteTexture(&m_DepthBuffer); } diff --git a/src/Engine/Rendering/Renderer.cpp b/src/Engine/Rendering/Renderer.cpp index 7e11f3b2..7f6dd0cd 100644 --- a/src/Engine/Rendering/Renderer.cpp +++ b/src/Engine/Rendering/Renderer.cpp @@ -2,6 +2,19 @@ std::unordered_map Renderer::m_WindowToRenderer; +Renderer::~Renderer() { + delete m_PickingPass; + delete m_LightCullingPass; + delete m_ImGuiRenderPass; + delete m_DrawFinalPass; + delete m_DrawScreenQuadPass; + delete m_DrawBloomPass; + delete m_DrawColorCorrectionPass; + delete m_SSAOPass; + delete m_CubeMapPass; + delete m_TextPass; +} + void Renderer::Initialize() { m_SSAO_Quality = m_Config->Get("SSAO.Quality", 0); diff --git a/src/Engine/Rendering/SSAOPass.cpp b/src/Engine/Rendering/SSAOPass.cpp index 3b11535f..68c1678b 100644 --- a/src/Engine/Rendering/SSAOPass.cpp +++ b/src/Engine/Rendering/SSAOPass.cpp @@ -10,6 +10,13 @@ SSAOPass::SSAOPass(IRenderer* renderer, ConfigFile* config) } +SSAOPass::~SSAOPass() { + CommonFunctions::DeleteTexture(&m_SSAOTexture); + CommonFunctions::DeleteTexture(&m_SSAOViewSpaceZTexture); + CommonFunctions::DeleteTexture(&m_Gaussian_horiz); + CommonFunctions::DeleteTexture(&m_Gaussian_vert); +} + void SSAOPass::ChangeQuality(int quality) { if (m_Quality == quality) {