SuperTuxKart
|
A Shader to render alpha-test particles. More...
Additional Inherited Members | |
Public Types inherited from TextureShaderBase | |
typedef std::function< void(GLuint, GLuint)> | BindFunction |
Public Member Functions inherited from TextureShader< AlphaTestParticleRenderer, 1, int, int, core::vector3df, float > | |
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. | |
Public Member Functions inherited from Shader< T, Args > | |
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) |
Public Member Functions inherited from ShaderBase | |
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 Public Member Functions inherited from ShaderBase | |
static void | killShaders () |
Static Public Member Functions inherited from Singleton< T > | |
static T * | getInstance () |
Used to get the instance. | |
static void | kill () |
Used to kill the singleton, if needed. | |
Public Attributes inherited from TextureShader< AlphaTestParticleRenderer, 1, int, int, core::vector3df, float > | |
std::vector< GLuint > | m_sampler_ids |
Protected Types inherited from ShaderBase | |
enum | AttributeType { OBJECT , PARTICLES_SIM , PARTICLES_RENDERING , SKINNED_MESH } |
Protected Member Functions inherited from TextureShaderBase | |
GLuint | createSamplers (SamplerTypeNew sampler_type) |
Protected Member Functions inherited from Shader< T, Args > | |
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. | |
Protected Member Functions inherited from ShaderBase | |
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. | |
Protected Member Functions inherited from Singleton< T > | |
Singleton () | |
Constructor. | |
virtual | ~Singleton () |
Destructor. | |
Static Protected Member Functions inherited from TextureShaderBase | |
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) |
Protected Attributes inherited from TextureShaderBase | |
std::vector< BindFunction > | m_bind_functions |
Protected Attributes inherited from ShaderBase | |
GLuint | m_program |
OpenGL's program id. | |
std::vector< std::shared_ptr< GLuint > > | m_shaders |
Static Protected Attributes inherited from TextureShaderBase | |
static BindFunction | m_all_bind_functions [] |
static GLuint | m_all_texture_types [] |
Static Protected Attributes inherited from ShaderBase | |
static std::vector< void(*)()> | m_all_kill_functions |
Maintains a list of all shaders. | |
A Shader to render alpha-test particles.