Files
Seele/src/Engine/Window/WindowManager.cpp
T

47 lines
1.2 KiB
C++
Raw Normal View History

#include "WindowManager.h"
2021-01-19 15:30:00 +01:00
#include "Graphics/Vulkan/VulkanGraphics.h"
2021-09-29 22:12:56 +02:00
using namespace Seele;
2020-06-02 11:46:18 +02:00
Gfx::PGraphics WindowManager::graphics;
2021-09-29 22:12:56 +02:00
WindowManager::WindowManager()
{
2021-11-01 20:25:16 +01:00
graphics = new Vulkan::Graphics();
GraphicsInitializer initializer;
graphics->init(initializer);
TextureCreateInfo info;
info.width = 4096;
info.height = 4096;
Gfx::PTexture2D testTexture = graphics->createTexture2D(info);
UniformBufferCreateInfo uniformInitializer;
uniformInitializer.resourceData.size = 4096;
uniformInitializer.resourceData.data = new uint8[4096];
for (int i = 0; i < 4096; ++i)
{
uniformInitializer.resourceData.data[i] = (uint8)i;
}
Gfx::PUniformBuffer testUniform = graphics->createUniformBuffer(uniformInitializer);
}
2021-09-29 22:12:56 +02:00
WindowManager::~WindowManager()
{
}
2020-03-05 11:43:38 +01:00
2021-09-29 22:12:56 +02:00
PWindow WindowManager::addWindow(const WindowCreateInfo &createInfo)
2020-03-05 11:43:38 +01:00
{
2021-11-01 20:25:16 +01:00
Gfx::PWindow handle = graphics->createWindow(createInfo);
PWindow window = new Window(this, handle);
windows.add(window);
return window;
}
void WindowManager::notifyWindowClosed(PWindow window)
{
windows.remove(windows.find(window));
2021-11-11 20:12:50 +01:00
if(windows.empty())
{
2022-02-24 22:38:26 +01:00
getGlobalThreadPool().cleanup();
2021-11-11 20:12:50 +01:00
}
2020-03-05 11:43:38 +01:00
}