Public Member Functions

  • ~GlslProg ()
  • bind () const
  • getHandle () const
  • uniform (const std::string &name, bool data) const
  • uniform (const std::string &name, int data) const
  • uniform (const std::string &name, float data) const
  • uniform (const std::string &name, uint32_t data) const
  • uniform (int location, uint32_t data) const
  • uniform (int location, bool data) const
  • uniform (int location, int data) const
  • uniform (int location, float data) const
  • uniform (const std::string &name, const vec2 &data) const
  • uniform (const std::string &name, const vec3 &data) const
  • uniform (const std::string &name, const vec4 &data) const
  • uniform (int location, const vec2 &data) const
  • uniform (int location, const vec3 &data) const
  • uniform (int location, const vec4 &data) const
  • uniform (const std::string &name, const ivec2 &data) const
  • uniform (const std::string &name, const ivec3 &data) const
  • uniform (const std::string &name, const ivec4 &data) const
  • uniform (int location, const ivec2 &data) const
  • uniform (int location, const ivec3 &data) const
  • uniform (int location, const ivec4 &data) const
  • uniform (const std::string &name, const uvec2 &data) const
  • uniform (const std::string &name, const uvec3 &data) const
  • uniform (const std::string &name, const uvec4 &data) const
  • uniform (int location, const uvec2 &data) const
  • uniform (int location, const uvec3 &data) const
  • uniform (int location, const uvec4 &data) const
  • uniform (const std::string &name, const mat2 &data, bool transpose=false) const
  • uniform (const std::string &name, const mat3 &data, bool transpose=false) const
  • uniform (const std::string &name, const mat4 &data, bool transpose=false) const
  • uniform (int location, const mat2 &data, bool transpose=false) const
  • uniform (int location, const mat3 &data, bool transpose=false) const
  • uniform (int location, const mat4 &data, bool transpose=false) const
  • uniform (const std::string &name, const uint32_t *data, int count) const
  • uniform (int location, const uint32_t *data, int count) const
  • uniform (const std::string &name, const int *data, int count) const
  • uniform (int location, const int *data, int count) const
  • uniform (const std::string &name, const float *data, int count) const
  • uniform (int location, const float *data, int count) const
  • uniform (const std::string &name, const ivec2 *data, int count) const
  • uniform (const std::string &name, const vec2 *data, int count) const
  • uniform (const std::string &name, const vec3 *data, int count) const
  • uniform (const std::string &name, const vec4 *data, int count) const
  • uniform (int location, const ivec2 *data, int count) const
  • uniform (int location, const vec2 *data, int count) const
  • uniform (int location, const vec3 *data, int count) const
  • uniform (int location, const vec4 *data, int count) const
  • uniform (const std::string &name, const mat2 *data, int count, bool transpose=false) const
  • uniform (const std::string &name, const mat3 *data, int count, bool transpose=false) const
  • uniform (const std::string &name, const mat4 *data, int count, bool transpose=false) const
  • uniform (int location, const mat2 *data, int count, bool transpose=false) const
  • uniform (int location, const mat3 *data, int count, bool transpose=false) const
  • uniform (int location, const mat4 *data, int count, bool transpose=false) const
  • bool
    hasAttribSemantic (geom::Attrib semantic) const
  • getAttribSemanticLocation (geom::Attrib semantic) const
  • operator[] (geom::Attrib sem) const
  • getShaderLog (GLuint handle) const
  • cppTypeToGlslTypeName ()
  • uniformFunc (int location, const uint32_t &data) const
  • uniformFunc (int location, const uvec2 &data) const
  • uniformFunc (int location, const uvec3 &data) const
  • uniformFunc (int location, const uvec4 &data) const
  • uniformFunc (int location, const uint32_t *data, int count) const
  • uniformFunc (int location, const int &data) const
  • uniformFunc (int location, const ivec2 &data) const
  • uniformFunc (int location, const ivec3 &data) const
  • uniformFunc (int location, const ivec4 &data) const
  • uniformFunc (int location, const int *data, int count) const
  • uniformFunc (int location, const ivec2 *data, int count) const
  • uniformFunc (int location, const float &data) const
  • uniformFunc (int location, const vec2 &data) const
  • uniformFunc (int location, const vec3 &data) const
  • uniformFunc (int location, const vec4 &data) const
  • uniformMatFunc (int location, const mat2 &data, bool transpose) const
  • uniformMatFunc (int location, const mat3 &data, bool transpose) const
  • uniformMatFunc (int location, const mat4 &data, bool transpose) const
  • uniformFunc (int location, const float *data, int count) const
  • uniformFunc (int location, const vec2 *data, int count) const
  • uniformFunc (int location, const vec3 *data, int count) const
  • uniformFunc (int location, const vec4 *data, int count) const
  • uniformMatFunc (int location, const mat2 *data, int count, bool transpose) const
  • uniformMatFunc (int location, const mat3 *data, int count, bool transpose) const
  • uniformMatFunc (int location, const mat4 *data, int count, bool transpose) const

Static Public Member Functions

  • create (const Format &format)
  • create (DataSourceRef vertexShader, DataSourceRef fragmentShader=DataSourceRef(), DataSourceRef geometryShader=DataSourceRef(), DataSourceRef tessEvalShader=DataSourceRef(), DataSourceRef tessCtrlShader=DataSourceRef())
  • create (const std::string &vertexShader, const std::string &fragmentShader=std::string(), const std::string &geometryShader=std::string(), const std::string &tessEvalShader=std::string(), const std::string &tessCtrlShader=std::string())

Protected Member Functions

  • GlslProg (const Format &format)
  • bindImpl () const
  • loadShader (const std::string &shaderSource, const fs::path &shaderPath, GLint shaderType)
  • attachShaders ()
  • link ()
  • uniformFunc (int location, const T &data) const
  • uniformMatFunc (int location, const T &data, bool transpose) const
  • uniformFunc (int location, const T *data, int count) const
  • uniformMatFunc (int location, const T *data, int count, bool transpose) const
  • bool
    checkUniformType (GLenum uniformType, std::string &typeName) const
  • uniformFunc (int location, const bool &data) const
  • cppTypeToGlslTypeName ()

Protected Attributes

  • mHandle
  • std::vector< Attribute >
    mAttributes
  • std::vector< Uniform >
    mUniforms
  • std::unique_ptr< UniformValueCache >
    mUniformValueCache
  • std::set< std::string >
    mLoggedUniformNames
  • std::set< int >
    mLoggedUniformLocations
  • mLabel
  • std::unique_ptr< ShaderPreprocessor >
    mShaderPreprocessor
  • std::vector< fs::path >
    mShaderPreprocessorIncludedFiles

Friends

  • friend class
  • friend std::ostream &
    operator<< (std::ostream &os, const GlslProg &rhs)