23 lines
629 B
C++
23 lines
629 B
C++
|
|
#include "../../HEADERS/UTILS/ResourceCache.h"
|
||
|
|
#include "../../HEADERS/UTILS/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;
|
||
|
|
}
|