// // Created by Vicente Ferrari Smith on 14.02.26. // #include "texture.h" #include #include "renderer.h" TextureManager::TextureManager() { } uint32_t TextureManager::load(const std::string& path, Renderer &renderer) { // Dedup: Don't load the same file twice! // if (path_to_id.contains(path)) return path_to_id[path]; int w, h, ch; unsigned char* data = stbi_load(path.c_str(), &w, &h, &ch, STBI_rgb_alpha); // Tell the renderer to make the GPU version Texture res = renderer.upload_texture(w, h, data); stbi_image_free(data); uint32_t id = static_cast(textures.size()); textures[path] = res; // path_to_id[path] = id; return id; // This is the textureID for your sprites }