49 #include <ACG/Config/ACGDefines.hh> 50 #include <ACG/GL/ShaderGenerator.hh> 103 return _mods ? getProgram(_desc, *_mods) : getProgram(_desc);
130 const char* _tessControlShaderFile,
131 const char* _tessEvalShaderFile,
132 const char* _geometryShaderFile,
133 const char* _fragmentShaderFile,
134 QStringList* _macros = 0,
bool _verbose =
true);
147 GLSL::Program* getProgram(
const char* _vertexShaderFile,
const char* _fragmentShaderFile, QStringList* _macros = 0,
bool _verbose =
true);
160 GLSL::Program* getComputeProgram(
const char* _computeShaderFile, QStringList* _macros = 0,
bool _verbose =
true);
172 bool getTimeCheck(){
return timeCheck_;}
177 void setDebugOutputDir(
const char* _outputDir);
185 std::vector<unsigned int> mods;
189 QString strVertexTemplate;
190 QString strTessControlTemplate;
191 QString strTessEvaluationTemplate;
192 QString strGeometryTemplate;
193 QString strFragmentTemplate;
195 QDateTime vertexFileLastMod;
196 QDateTime tessControlFileLastMod;
197 QDateTime tessEvaluationFileLastMod;
198 QDateTime geometryFileLastMod;
199 QDateTime fragmentFileLastMod;
211 typedef std::list<std::pair<CacheEntry, GLSL::Program*> > CacheList;
This namespace contains all the classes and functions for handling GLSL shader and program objects...
Namespace providing different geometric functions concerning angles.
QString dbgOutputDir_
output directory for shaders in dynamic cache
void setTimeCheck(bool _on)
enable or disable checking of the time step of each file
CacheList cacheStatic_
cache containing static shaders loaded from files (separate from dynamic cache to reduce access time)...
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.
CacheList cacheComputeShaders_
cache for static compute shaders