|
void | render (const FrameBuffer &auxiliary, const FrameBuffer &linear_depth, int width, int height) |
|
void | assignSamplerNames (Args...args) |
| The protected interface for setting sampler names - it is only called from instances.
|
|
void | setTextureUnitsImpl () |
| End of recursion, just check if number of arguments is correct.
|
|
void | setTextureUnitsImpl (GLuint tex_id, TexIds... args) |
| The recursive implementation.
|
|
void | setTextureUnits (TexIds... args) |
| Public implementation of setTextureUnits.
|
|
void | setTextureHandlesImpl () |
| End of recursion, just checks at compile time if number of arguments is correct.
|
|
void | setTextureHandlesImpl (uint64_t handle, HandlesId... args) |
| Recursive implementation of setTextureHandles.
|
|
void | setTextureHandles (HandlesId... ids) |
| The protected interface.
|
|
| ~TextureShader () |
| Destructor which frees al lsampler ids.
|
|
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) |
|
|
typedef std::function< void(GLuint, GLuint)> | BindFunction |
|
static void | killShaders () |
|
static T * | getInstance () |
| Used to get the instance.
|
|
static void | kill () |
| Used to kill the singleton, if needed.
|
|
std::vector< GLuint > | m_sampler_ids |
|
enum | AttributeType { OBJECT
, PARTICLES_SIM
, PARTICLES_RENDERING
, SKINNED_MESH
} |
|
GLuint | createSamplers (SamplerTypeNew sampler_type) |
|
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.
|
|
static void | bindTextureNearest (GLuint tex_unit, GLuint tex_id) |
|
static void | bindTextureBilinear (GLuint texture_unit, GLuint tex_id) |
|
static void | bindTextureBilinearClamped (GLuint tex_unit, GLuint tex_id) |
|
static void | bindTextureNearestClamped (GLuint tex_unit, GLuint tex_id) |
|
static void | bindTextureTrilinearAnisotropic (GLuint tex_unit, GLuint tex_id) |
|
static void | bindTextureSemiTrilinear (GLuint tex_unit, GLuint tex_id) |
|
static void | bindCubemapTrilinear (GLuint tex_unit, GLuint tex_id) |
|
static void | bindTextureShadow (GLuint tex_unit, GLuint tex_id) |
|
static void | bindTrilinearClampedArrayTexture (GLuint tex_unit, GLuint tex_id) |
|
static void | bindTextureVolume (GLuint tex_unit, GLuint tex_id) |
|
static void | bindTextureBuffer (GLuint tex_unit, GLuint tex_id) |
|
std::vector< BindFunction > | m_bind_functions |
|
GLuint | m_program |
| OpenGL's program id.
|
|
std::vector< std::shared_ptr< GLuint > > | m_shaders |
|
static BindFunction | m_all_bind_functions [] |
|
static GLuint | m_all_texture_types [] |
|
static std::vector< void(*)()> | m_all_kill_functions |
| Maintains a list of all shaders.
|
|