28 lines
697 B
C++
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;
|
|
}
|
|
|
|
} |