Files
rez_demo/sources/GL_STUFF/UTILS/ResourceCache.cpp

23 lines
589 B
C++
Raw Normal View History

#include "ResourceCache.h"
#include "ShaderMaker.h"
ResourceCache::ResourceCache() {
images = map<string, GLuint>();
shaders = map<string, GLuint>();
}
GLuint ResourceCache::getImage(string path) {
if (images.count(path) == 0) {
images[path] = loadImg(&path[0]);
}
return images.find(path)->second;
}
GLuint ResourceCache::getShader(string vertPath, string fragPath) {
string mapName = string(vertPath).append(fragPath);
if (shaders.count(mapName) == 0) {
shaders[mapName] = ShaderMaker::createProgram(&vertPath[0], &fragPath[0]);
}
return shaders.find(mapName)->second;
}