hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/rendering/texture.cpp
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-22 12:24:05 +0200
committerhachem <im@hachem.wtf>2025-08-22 12:24:05 +0200
commit2c8002d30f291cba832a5750212009d48238c308 (patch)
tree4aafc468441b3e32c267040830b8e0b5af859faf /src/rendering/texture.cpp
parentb9de06951631d9969c52c6ed95de17a6d8aad121 (diff)
feat: add HDRI
Diffstat (limited to 'src/rendering/texture.cpp')
-rw-r--r--src/rendering/texture.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/rendering/texture.cpp b/src/rendering/texture.cpp
index e14c09c..a33edd0 100644
--- a/src/rendering/texture.cpp
+++ b/src/rendering/texture.cpp
@@ -35,4 +35,34 @@ namespace Donut
return nullptr;
}
}
+
+ Ref<CubemapTexture> CubemapTexture::create(uint32_t width, uint32_t height)
+ {
+ switch (Renderer::get_api())
+ {
+ case RendererAPI::API::OpenGL:
+ return create_ref<OpenGLCubemapTexture>(width, height);
+ case RendererAPI::API::Vulkan:
+ return create_ref<VulkanCubemapTexture>(width, height);
+ case RendererAPI::API::None:
+ return nullptr;
+ default:
+ return nullptr;
+ }
+ }
+
+ Ref<CubemapTexture> CubemapTexture::create_from_hdri(const std::string& path)
+ {
+ switch (Renderer::get_api())
+ {
+ case RendererAPI::API::OpenGL:
+ return create_ref<OpenGLCubemapTexture>(path);
+ case RendererAPI::API::Vulkan:
+ return create_ref<VulkanCubemapTexture>(path);
+ case RendererAPI::API::None:
+ return nullptr;
+ default:
+ return nullptr;
+ }
+ }
};