use "ARCH=arch_name make" restructured project folder, implementations and headers together under sources/
23 lines
589 B
C++
Executable File
23 lines
589 B
C++
Executable File
#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;
|
|
}
|