diff --git a/openVulkanoCpp/Base/IGraphicsApp.hpp b/openVulkanoCpp/Base/IGraphicsApp.hpp index 638748c..c282416 100644 --- a/openVulkanoCpp/Base/IGraphicsApp.hpp +++ b/openVulkanoCpp/Base/IGraphicsApp.hpp @@ -24,6 +24,8 @@ namespace OpenVulkano ~IGraphicsApp() override = default; virtual void Init() = 0; + virtual void InitPostGraphics() {} + virtual void CloseFinalize() {} [[nodiscard]] IGraphicsAppManager* GetGraphicsAppManager() const { return m_manager; } void SetGraphicsAppManager(IGraphicsAppManager* manager) { m_manager = manager; } [[nodiscard]] virtual std::string GetAppName() const = 0; diff --git a/openVulkanoCpp/Host/GraphicsAppManager.cpp b/openVulkanoCpp/Host/GraphicsAppManager.cpp index 4643d16..ffdb248 100644 --- a/openVulkanoCpp/Host/GraphicsAppManager.cpp +++ b/openVulkanoCpp/Host/GraphicsAppManager.cpp @@ -97,6 +97,7 @@ namespace OpenVulkano //TODO restore window settings if there are any set renderer->Init(static_cast(this), window); windowTitleFormat = app->GetAppName() + " " + static_cast(app->GetAppVersion()) + " - " + renderer->GetMainRenderDeviceName() + " - {:.1f} fps ({:.1f} ms)"; + app->InitPostGraphics(); Logger::MANAGER->info("Initialized"); } catch (std::exception& e) @@ -144,6 +145,7 @@ namespace OpenVulkano window->Close(); if (platform) platform->Close(); windowTitleFormat = ""; + app->CloseFinalize(); Logger::MANAGER->info("Shutdown complete"); }