1
0
Fork 0
Univerxel/src/client/render/index.cpp

28 lines
697 B
C++

#include "gl/Renderer.hpp"
#include "vk/Renderer.hpp"
#include "../../core/utils/logger.hpp"
#include "../Window.hpp"
namespace render {
bool Load(Window& window, bool preferVulkan, const renderOptions& options) {
if(!preferVulkan) {
LOG_D("Trying OpenGL");
if(gl::Renderer::Load(window, options))
return true;
window.destroy();
}
LOG_D("Trying Vulkan");
if(vk::Renderer::Load(window, options))
return true;
window.destroy();
if(preferVulkan) {
LOG_I("Fallback to OpenGL");
if(gl::Renderer::Load(window, options))
return true;
}
LOG_E("No available graphics library");
return false;
}
}