55 #include <ACG/Config/ACGDefines.hh> 56 #include <ACG/GL/ShaderGenerator.hh> 109 return _mods ? getProgram(_desc, *_mods) : getProgram(_desc);
136 const char* _tessControlShaderFile,
137 const char* _tessEvalShaderFile,
138 const char* _geometryShaderFile,
139 const char* _fragmentShaderFile,
140 QStringList* _macros = 0,
bool _verbose =
true);
153 GLSL::Program* getProgram(
const char* _vertexShaderFile,
const char* _fragmentShaderFile, QStringList* _macros = 0,
bool _verbose =
true);
166 GLSL::Program* getComputeProgram(
const char* _computeShaderFile, QStringList* _macros = 0,
bool _verbose =
true);
178 bool getTimeCheck(){
return timeCheck_;}
183 void setDebugOutputDir(
const char* _outputDir);
191 std::vector<unsigned int> mods;
195 QString strVertexTemplate;
196 QString strTessControlTemplate;
197 QString strTessEvaluationTemplate;
198 QString strGeometryTemplate;
199 QString strFragmentTemplate;
201 QDateTime vertexFileLastMod;
202 QDateTime tessControlFileLastMod;
203 QDateTime tessEvaluationFileLastMod;
204 QDateTime geometryFileLastMod;
205 QDateTime fragmentFileLastMod;
217 typedef std::list<std::pair<CacheEntry, GLSL::Program*> > CacheList;
CacheList cache_
cache containing dynamic shaders from ShaderProgGenerator
GLSL::Program * getProgram(const ShaderGenDesc *_desc, const std::vector< unsigned int > *_mods)
Query a dynamically generated program from cache.
void setTimeCheck(bool _on)
enable or disable checking of the time step of each file
CacheList cacheComputeShaders_
cache for static compute shaders
Namespace providing different geometric functions concerning angles.
CacheList cacheStatic_
cache containing static shaders loaded from files (separate from dynamic cache to reduce access time)...
QString dbgOutputDir_
output directory for shaders in dynamic cache
This namespace contains all the classes and functions for handling GLSL shader and program objects...