2026-03-16 00:10:52 +01:00
|
|
|
#include "ResourceCache.h"
|
|
|
|
|
#include "ShaderMaker.h"
|
2025-07-03 01:26:25 +02:00
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
}
|