2025-10-05 10:07:36 +03:30
|
|
|
#include <memory/scope.hpp>
|
2025-10-04 22:08:19 +03:30
|
|
|
#include <renderer/api.hpp>
|
|
|
|
|
#include <renderer/backend/vk/context/context.hpp>
|
|
|
|
|
#include <renderer/frontend/context/context.hpp>
|
|
|
|
|
|
|
|
|
|
namespace lt::renderer {
|
|
|
|
|
|
2025-10-05 10:07:36 +03:30
|
|
|
auto IContext::create(API target_api, const ecs::Entity &surface_entity)
|
|
|
|
|
-> memory::Scope<IContext>
|
2025-10-04 22:08:19 +03:30
|
|
|
{
|
|
|
|
|
switch (target_api)
|
|
|
|
|
{
|
2025-10-05 10:07:36 +03:30
|
|
|
case API::Vulkan: return memory::create_scope<vk::Context>(surface_entity);
|
2025-10-04 22:08:19 +03:30
|
|
|
default: throw std::runtime_error { "Invalid API" };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // namespace lt::renderer
|