21 #ifndef RE_SHADERREGISTRY_H_
22 #define RE_SHADERREGISTRY_H_
38 myLastLookupShader(nullptr),
40 myLastLookupTagsValid(false)
47 int registerShader(const
char *program_files,
56 void setNameBit(const
char *
name,
exint bit);
58 void printTags(
exint tags);
60 bool generateProgramAtlas(const
char *atlas_filename);
61 void generateProgramAtlas(std::ostream &os);
64 void printTagNode(std::ostream &os,
66 int indent,
bool single);
70 ShaderMapT myShaderMap;
73 mutable exint myLastLookupTags;
74 mutable
bool myLastLookupTagsValid;
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
*get result *(waiting if necessary)*A common idiom is to fire a bunch of sub tasks at the and then *wait for them to all complete We provide a helper class
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
GLuint const GLchar * name
Simple interface to building a shader from a .prog file.