#include #include #include "renderer.h" #include "platform.h" SDL_Window* window = nullptr; std::vector platform::getRequiredExtensions() { uint32_t count = 0; SDL_Vulkan_GetInstanceExtensions(window, &count, nullptr); std::vector names(count); SDL_Vulkan_GetInstanceExtensions(window, &count, names.data()); return names; } int main(int, char*[]) { window = SDL_CreateWindow("Graph", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_VULKAN); if(!window) return -1; Renderer* renderer = new Renderer(); VkSurfaceKHR surface = nullptr; SDL_Vulkan_CreateSurface(window, renderer->getInstance(), &surface); RenderTarget* target = renderer->createSurfaceRenderTarget(surface); bool running = true; while(running) { SDL_Event event = {}; while(SDL_PollEvent(&event)) { if(event.type == SDL_QUIT) running = false; } } renderer->destroyRenderTarget(target); delete renderer; SDL_DestroyWindow(window); return 0; }