|
| SPShader (const std::string &name, const std::function< void(SPShader *)> &init_func, bool transparent_shader=false, int drawing_priority=0, bool use_alpha_channel=false, bool use_tangents=false, const std::array< bool, 6 > &srgb={{ true, true, false, false, false, false }}) |
|
bool | hasShader (RenderPass rp) |
|
GLuint | getShaderProgram (RenderPass rp) |
|
void | use (RenderPass rp=RP_1ST) |
|
void | unuse (RenderPass rp=RP_1ST) |
|
void | addShaderFile (const std::string &name, GLint shader_type, RenderPass rp=RP_1ST) |
|
void | linkShaderFiles (RenderPass rp=RP_1ST) |
|
void | addAllTextures (RenderPass rp=RP_1ST) |
|
void | addAllUniforms (RenderPass rp=RP_1ST) |
|
void | addCustomPrefilledTextures (SamplerType st, GLuint texture_type, const std::string &name, std::function< GLuint()> func, RenderPass rp=RP_1ST) |
|
void | bindPrefilledTextures (RenderPass rp=RP_1ST) const |
|
void | bindTextures (const std::array< GLuint, 6 > &tex, RenderPass rp=RP_1ST) const |
|
void | addBasicUniforms (RenderPass rp=RP_1ST) |
|
const std::string & | getName () const |
|
SPUniformAssigner * | getUniformAssigner (const std::string &name, RenderPass rp=RP_1ST) const |
|
void | setUniformsPerObject (SPPerObjectUniform *sppou, std::vector< SPUniformAssigner * > *ua_used, RenderPass rp=RP_1ST) |
|
void | setUseFunction (std::function< void()> func, RenderPass rp=RP_1ST) |
|
void | setUnuseFunction (std::function< void()> func, RenderPass rp=RP_1ST) |
|
bool | isTransparent () const |
|
bool | useAlphaChannel () const |
|
int | getDrawingPriority () const |
|
bool | samplerLess (RenderPass rp=RP_1ST) const |
|
void | unload () |
|
void | init () |
|
bool | isSrgbForTextureLayer (unsigned layer) const |
|
bool | useTangents () const |
|
bool | hasTextureLayer (unsigned layer) |
|
void | addAssignerFunction (const std::string &name, std::function< void(SPUniformAssigner *)> func) |
|
void | removeAssignerFunction (const std::string &name) |
|
bool | hasUniform (const std::string &name) const |
|
bool | assignUniform (const std::string &name, SPUniformAssigner *ua) const |
|
bool | isEmpty () const |
|
|
std::string | m_name |
|
std::vector< std::shared_ptr< GLuint > > | m_shader_files |
|
GLuint | m_program [RP_COUNT] |
|
std::map< unsigned, unsigned > | m_samplers [RP_COUNT] |
|
std::vector< std::tuple< unsigned, std::string, SamplerType, GLuint > > | m_prefilled_samplers [RP_COUNT] |
|
std::unordered_map< std::string, SPUniformAssigner * > | m_uniforms [RP_COUNT] |
|
std::unordered_map< std::string, std::function< GLuint()> > | m_custom_prefilled_getter [RP_COUNT] |
|
std::function< void()> | m_use_function [RP_COUNT] |
|
std::function< void()> | m_unuse_function [RP_COUNT] |
|
const std::function< void(SPShader *)> | m_init_function |
|
const int | m_drawing_priority |
|
const bool | m_transparent_shader |
|
const bool | m_use_alpha_channel |
|
const bool | m_use_tangents |
|
const std::array< bool, 6 > | m_srgb |
|