|
void | setUniforms (const Args &... args) const |
| Sets the uniforms for this shader.
|
|
void | assignTextureUnit (GLuint index, const char *uniform, T1... rest) |
| Variadic top level/public interface.
|
|
| Shader () |
| Constructor.
|
|
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) |
|
static void | killShaders () |
|
static T * | getInstance () |
| Used to get the instance.
|
|
static void | kill () |
| Used to kill the singleton, if needed.
|
|
enum | AttributeType { OBJECT
, PARTICLES_SIM
, PARTICLES_RENDERING
, SKINNED_MESH
} |
|
void | assignUniforms (U... rest) |
| This variadic template collects all names of uniforms in a std::vector.
|
|
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.
|
|
GLuint | m_program |
| OpenGL's program id.
|
|
std::vector< std::shared_ptr< GLuint > > | m_shaders |
|
static std::vector< void(*)()> | m_all_kill_functions |
| Maintains a list of all shaders.
|
|