#pragma once #include "core/memory.h" #include "rendering/texture.h" #include namespace Donut { class TextureManager { public: static Ref create_texture(uint32_t width, uint32_t height); static void bind_texture(uint32_t texture_id, uint32_t slot = 0); static void bind_image_texture(uint32_t texture_id, uint32_t slot = 0, bool read_only = false); static void set_texture_data(uint32_t texture_id, void* data, uint32_t width, uint32_t height); static void resize_texture(uint32_t texture_id, uint32_t width, uint32_t height); }; };