From 4172869e54093eee6e1595ebe0fa55c9fe98aef7 Mon Sep 17 00:00:00 2001 From: hachem Date: Fri, 15 Aug 2025 03:18:29 +0200 Subject: [help]: Complete first geodesic 3d raytracing --- src/Rendering/TextureManager.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/Rendering/TextureManager.cpp (limited to 'src/Rendering/TextureManager.cpp') diff --git a/src/Rendering/TextureManager.cpp b/src/Rendering/TextureManager.cpp new file mode 100644 index 0000000..9110558 --- /dev/null +++ b/src/Rendering/TextureManager.cpp @@ -0,0 +1,34 @@ +#include "TextureManager.h" +#include "Platform/OpenGL/OpenGLTexture.h" +#include "Platform/OpenGL/OpenGLRendererAPI.h" +#include + +namespace Donut +{ + Ref TextureManager::CreateTexture(uint32_t width, uint32_t height) + { + return CreateRef(width, height); + } + + void TextureManager::BindTexture(uint32_t textureID, uint32_t slot) + { + RenderCommand::BindTexture(textureID, slot); + } + + void TextureManager::BindImageTexture(uint32_t textureID, uint32_t slot, bool readOnly) + { + RenderCommand::BindImageTexture(textureID, slot, readOnly); + } + + void TextureManager::SetTextureData(uint32_t textureID, void* data, uint32_t width, uint32_t height) + { + glBindTexture(GL_TEXTURE_2D, textureID); + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, data); + } + + void TextureManager::ResizeTexture(uint32_t textureID, uint32_t width, uint32_t height) + { + glBindTexture(GL_TEXTURE_2D, textureID); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); + } +}; -- cgit v1.3