I would like to have ability to set uniforms via their actual names in the shader
myProgram.uniform3fv("uniformVector", 0.0f, 0.1f, 1.0f);
do I have to cache locations in some form of a map?
std::map<std::string, unsigned int> // or unordered_map
or maybe OpenGL (on desktop) caches this anyway, so I would not have any performance difference?