diff options
author | hnOsmium0001 <[email protected]> | 2022-04-15 20:30:39 -0700 |
---|---|---|
committer | hnOsmium0001 <[email protected]> | 2022-04-15 20:30:39 -0700 |
commit | 509201784d6525fc26345e55a56ab81e4a7616b3 (patch) | |
tree | bcd68f247937324d06480b58a284b47e1c6bb2b8 /source/Texture.hpp | |
parent | 989f90ebe2c37e8a517691a35d7e0d827fbe7006 (diff) |
Work on Material system
Diffstat (limited to 'source/Texture.hpp')
-rw-r--r-- | source/Texture.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/Texture.hpp b/source/Texture.hpp index c372998..c330bb3 100644 --- a/source/Texture.hpp +++ b/source/Texture.hpp @@ -2,6 +2,7 @@ #include "RcPtr.hpp" +#include <absl/container/flat_hash_map.h> #include <glad/glad.h> #include <glm/glm.hpp> #include <memory> @@ -64,3 +65,17 @@ struct Subregion { struct TextureSubregion : public Subregion { RcPtr<Texture> atlasTexture; }; + +class TextureManager { +public: + static inline TextureManager* instance = nullptr; + +private: + absl::flat_hash_map<std::string_view, RcPtr<Texture>> mTextures; + +public: + void DiscoverTextures(); + + const auto& GetTextures() const { return mTextures; } + Texture* FindTexture(std::string_view name); +}; |