|
void | setUniforms (const Args &... args) const |
| Sets the uniforms for this shader.
|
|
template<typename... T1> |
void | assignTextureUnit (GLuint index, const char *uniform, T1... rest) |
| Variadic top level/public interface.
|
|
| Shader () |
| Constructor.
|
|
template<typename ... Types> |
void | loadProgram (AttributeType type, Types ... args) |
| Load a list of shaders and links them all together.
|
|
void | drawFullScreenEffect (Args...args) |
|
| ShaderBase () |
| Constructor, which adds the shader to all instantiated shaders (for the reload-all-shaders debug option).
|
|
int | loadTFBProgram (const std::string &vertex_file_path, const char **varyings, unsigned varyingscount) |
| Loads a transform feedback buffer shader with a given number of varying parameters.
|
|
GLuint | createVAO () |
|
void | use () |
| Activates the shader calling glUseProgram.
|
|
GLuint | getUniformLocation (const char *name) |
|
|
template<typename... U> |
void | assignUniforms (U... rest) |
| This variadic template collects all names of uniforms in a std::vector.
|
|
template<typename ... Types> |
void | printFileList (GLint shader_type, const char *filepath, Types ... args) |
| Variadic template to print a list of file names.
|
|
template<typename ... Types> |
void | loadAndAttachShader () |
| Ends recursion.
|
|
template<typename ... Types> |
void | loadAndAttachShader (GLint shader_type, const std::string &name, Types ... args) |
|
template<typename ... Types> |
void | loadAndAttachShader (GLint shader_type, const char *name, Types ... args) |
| Convenience interface using const char.
|
|
| Singleton () |
| Constructor.
|
|
virtual | ~Singleton () |
| Destructor.
|
|
|
void | bindPoint (const char *name, int index) |
| Finds the specified uniform block and assigns a binding point to it.
|
|
void | assignUniformsImpl () |
| End of recursive implementation of assignUniforms.
|
|
template<typename... U> |
void | assignUniformsImpl (const char *name, U... rest) |
| Recursive implementation of assignniforms.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (const std::vector< float > &v, Args1... arg) const |
| Implementation for setUniforms for a vector<float> uniform.
|
|
template<unsigned N = 0> |
void | setUniformsImpl () const |
| End of recursion for setUniforms implementation.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (const irr::core::matrix4 &mat, Args1... arg) const |
| Implementation for setUniforms for a matrix uniform.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (const irr::video::SColorf &col, Args1... arg) const |
| Implementation for setUniforms for a matrix SColorF values.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (const irr::video::SColor &col, Args1... arg) const |
| Implementation for setUniforms for a SColor uniform.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (const std::array< float, 4 > &ff, Args1... arg) const |
| Implementation for setUniforms for a 4 floats uniform.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (const irr::core::vector3df &v, Args1... arg) const |
| Implementation for setUniforms for a vector3df uniform.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (const irr::core::vector2df &v, Args1... arg) const |
| Implementation for setUniforms for a vector2df uniform.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (const irr::core::dimension2df &v, Args1... arg) const |
| Implementation for setUniforms for a dimension2df uniform.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (float f, Args1... arg) const |
| Implementation for setUniforms for a float uniform.
|
|
template<unsigned N = 0, typename... Args1> |
void | setUniformsImpl (int f, Args1... arg) const |
| Implementation for setUniforms for an int uniform.
|
|
template<typename ... Types> |
void | printFileList () |
| End recursion for variadic template.
|
|
void | assignTextureUnitNoUse () |
| End of recursion.
|
|
template<typename... T1> |
void | assignTextureUnitNoUse (GLuint index, const char *uniform, T1... rest) |
| Recursive implementation of assignTextureUnit, but without the call to gluseProgram (which is done by the public interface).
|
|
template<typename T, typename... Args>
class Shader< T, Args >
The main templated base class for all shaders that do not use textures.
The template arguments are the types of the shader's uniforms. This allows compile time checks for the number of arguments when setting the name of the shader arguments.