2020-02-25 00:44:40 +01:00
|
|
|
#include "WindowManager.h"
|
2020-03-15 15:58:01 +01:00
|
|
|
#include "Vulkan/VulkanGraphics.h"
|
2020-02-25 00:44:40 +01:00
|
|
|
|
2020-06-02 11:46:18 +02:00
|
|
|
Gfx::PGraphics WindowManager::graphics;
|
|
|
|
|
|
2020-03-05 11:43:38 +01:00
|
|
|
Seele::WindowManager::WindowManager()
|
2020-02-25 00:44:40 +01:00
|
|
|
{
|
2020-03-24 21:05:32 +01:00
|
|
|
graphics = new Vulkan::Graphics();
|
2020-03-15 15:58:01 +01:00
|
|
|
GraphicsInitializer initializer;
|
|
|
|
|
graphics->init(initializer);
|
2020-04-12 15:47:19 +02:00
|
|
|
TextureCreateInfo info;
|
|
|
|
|
info.width = 4096;
|
|
|
|
|
info.height = 4096;
|
|
|
|
|
Gfx::PTexture2D testTexture = graphics->createTexture2D(info);
|
2020-11-03 01:18:30 +01:00
|
|
|
UniformBufferCreateInfo uniformInitializer;
|
|
|
|
|
uniformInitializer.resourceData.size = 4096;
|
|
|
|
|
uniformInitializer.resourceData.data = new uint8[4096];
|
2020-04-12 15:47:19 +02:00
|
|
|
for (int i = 0; i < 4096; ++i)
|
|
|
|
|
{
|
2020-11-03 01:18:30 +01:00
|
|
|
uniformInitializer.resourceData.data[i] = (uint8)i;
|
2020-04-12 15:47:19 +02:00
|
|
|
}
|
2020-11-03 01:18:30 +01:00
|
|
|
Gfx::PUniformBuffer testUniform = graphics->createUniformBuffer(uniformInitializer);
|
2020-02-25 00:44:40 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Seele::WindowManager::~WindowManager()
|
|
|
|
|
{
|
|
|
|
|
}
|
2020-03-05 11:43:38 +01:00
|
|
|
|
2020-05-05 01:51:13 +02:00
|
|
|
PWindow Seele::WindowManager::addWindow(const WindowCreateInfo &createInfo)
|
2020-03-05 11:43:38 +01:00
|
|
|
{
|
2020-05-05 01:51:13 +02:00
|
|
|
Gfx::PWindow handle = graphics->createWindow(createInfo);
|
|
|
|
|
PWindow window = new Window(handle);
|
2020-03-05 11:43:38 +01:00
|
|
|
windows.add(window);
|
2020-05-05 01:51:13 +02:00
|
|
|
return window;
|
2020-03-05 11:43:38 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Seele::WindowManager::beginFrame()
|
|
|
|
|
{
|
|
|
|
|
for (auto window : windows)
|
|
|
|
|
{
|
|
|
|
|
window->beginFrame();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-09-19 14:36:50 +02:00
|
|
|
void WindowManager::render()
|
|
|
|
|
{
|
|
|
|
|
for(auto window : windows)
|
|
|
|
|
{
|
|
|
|
|
window->render();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-03-05 11:43:38 +01:00
|
|
|
void Seele::WindowManager::endFrame()
|
|
|
|
|
{
|
|
|
|
|
for (auto window : windows)
|
|
|
|
|
{
|
|
|
|
|
window->endFrame();
|
|
|
|
|
}
|
|
|
|
|
}
|