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;
Namespace providing different geometric functions concerning angles.
CacheList cacheComputeShaders_
cache for static compute shaders
CacheList cacheStatic_
cache containing static shaders loaded from files (separate from dynamic cache to reduce access time)...
This namespace contains all the classes and functions for handling GLSL shader and program objects...
GLSL::Program * getProgram(const ShaderGenDesc *_desc, const std::vector< unsigned int > *_mods)
Query a dynamically generated program from cache.
QString dbgOutputDir_
output directory for shaders in dynamic cache
CacheList cache_
cache containing dynamic shaders from ShaderProgGenerator
void setTimeCheck(bool _on)
enable or disable checking of the time step of each file