diff options
Diffstat (limited to 'src/texturecache.cpp')
-rw-r--r-- | src/texturecache.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/texturecache.cpp b/src/texturecache.cpp new file mode 100644 index 00000000..e46566ff --- /dev/null +++ b/src/texturecache.cpp @@ -0,0 +1,27 @@ +#include "imageloader.hpp" +#include "texturecache.hpp" + +namespace yage +{ + +TextureCache::TextureCache() +{} + +TextureCache::~TextureCache() +{} + +GlTexture TextureCache::getTexture(const std::string &texture_path) +{ + auto itr = texture_map_.find(texture_path); + + if(itr == texture_map_.end()) + { + GlTexture new_texture = ImageLoader::loadPng(texture_path); + texture_map_.insert(make_pair(texture_path, new_texture)); + return new_texture; + } + + return itr->second; +} + +} // yage |