#include "texture.h" #include "renderer.h" #include "platform/opengl/opengl_texture.h" #include "platform/vulkan/vulkan_texture.h" namespace Donut { Ref Texture2D::create(uint32_t width, uint32_t height) { switch (Renderer::get_api()) { case RendererAPI::API::OpenGL: return create_ref(width, height); case RendererAPI::API::Vulkan: return create_ref(width, height); case RendererAPI::API::None: return nullptr; default: return nullptr; } } Ref Texture2D::create(const std::string& path) { switch (Renderer::get_api()) { case RendererAPI::API::OpenGL: return create_ref(path); case RendererAPI::API::Vulkan: return create_ref(path); case RendererAPI::API::None: return nullptr; default: return nullptr; } } Ref CubemapTexture::create(uint32_t width, uint32_t height) { switch (Renderer::get_api()) { case RendererAPI::API::OpenGL: return create_ref(width, height); case RendererAPI::API::Vulkan: return create_ref(width, height); case RendererAPI::API::None: return nullptr; default: return nullptr; } } Ref CubemapTexture::create_from_hdri(const std::string& path) { switch (Renderer::get_api()) { case RendererAPI::API::OpenGL: return create_ref(path); case RendererAPI::API::Vulkan: return create_ref(path); case RendererAPI::API::None: return nullptr; default: return nullptr; } } };