aboutsummaryrefslogtreecommitdiffstats
path: root/src/texturecache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/texturecache.cpp')
-rw-r--r--src/texturecache.cpp27
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