Moved window create from RenderEngine to CoreInstance

This commit is contained in:
Jiga228
2025-09-17 21:51:31 +07:00
parent 25cc75ba69
commit e151663de5
6 changed files with 33 additions and 37 deletions
+7 -17
View File
@@ -42,21 +42,11 @@ std::vector<const char*> RenderEngine::get_required_extensions()
return extensions;
}
RenderEngine::RenderEngine() : window(nullptr)
RenderEngine::RenderEngine(GLFWwindow* window) : window_(window)
#ifdef _DEBUG
, debug_messenger_(nullptr)
#endif
{
if (glfwInit() == GLFW_FALSE)
throw std::runtime_error("Fail init glfw");
window = glfwCreateWindow(640, 480, "UwU Engine", nullptr, nullptr);
if (!window)
{
glfwTerminate();
throw std::runtime_error("Fail create window");
}
{
std::vector<const char*> extensions = get_required_extensions();
std::vector<const char*> layers = {
@@ -121,22 +111,22 @@ RenderEngine::~RenderEngine()
if (instance_ != nullptr)
vkDestroyInstance(instance_, nullptr);
if (window != nullptr)
glfwDestroyWindow(window);
if (window_ != nullptr)
glfwDestroyWindow(window_);
glfwTerminate();
}
void RenderEngine::start()
{
while (!glfwWindowShouldClose(window))
while (!glfwWindowShouldClose(window_))
{
glfwSwapBuffers(window);
glfwSwapBuffers(window_);
glfwPollEvents();
}
}
void RenderEngine::stop_render()
{
if (window != nullptr && !glfwWindowShouldClose(window))
glfwSetWindowShouldClose(window, true);
if (window_ != nullptr && !glfwWindowShouldClose(window_))
glfwSetWindowShouldClose(window_, true);
}