GameKit  0.0.1a
C++ gamedev tools
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
gk::Shader Class Reference

#include <Shader.hpp>

Public Member Functions

 Shader ()=default
 
 Shader (const std::string &vertexFilename, const std::string &fragementFilename)
 
 ~Shader ()
 
void loadFromFile (const std::string &vertexFilename, const std::string &fragementFilename)
 
void createProgram ()
 
void linkProgram ()
 
void addShader (GLenum type, const std::string &filename)
 
GLint attrib (const std::string &name) const
 
GLint uniform (const std::string &name) const
 
void enableVertexAttribArray (const std::string &name) const
 
void disableVertexAttribArray (const std::string &name) const
 
void setUniform (const std::string &name, int n) const
 
void setUniform (const std::string &name, float x, float y) const
 
void setUniform (const std::string &name, const glm::mat4 &matrix) const
 
void setUniform (const std::string &name, const Transform &transform) const
 
GLint program () const
 

Static Public Member Functions

static void bind (const Shader *shader)
 

Private Attributes

std::vector< GLuint > m_vertexShaders
 
std::vector< GLuint > m_fragmentShaders
 
GLuint m_program
 

Detailed Description

Definition at line 28 of file Shader.hpp.

Constructor & Destructor Documentation

§ Shader() [1/2]

gk::Shader::Shader ( )
default

§ Shader() [2/2]

gk::Shader::Shader ( const std::string &  vertexFilename,
const std::string &  fragementFilename 
)

Definition at line 27 of file Shader.cpp.

§ ~Shader()

gk::Shader::~Shader ( )

Definition at line 31 of file Shader.cpp.

Member Function Documentation

§ addShader()

void gk::Shader::addShader ( GLenum  type,
const std::string &  filename 
)

Definition at line 81 of file Shader.cpp.

§ attrib()

GLint gk::Shader::attrib ( const std::string &  name) const

Definition at line 132 of file Shader.cpp.

§ bind()

void gk::Shader::bind ( const Shader shader)
static

Definition at line 178 of file Shader.cpp.

§ createProgram()

void gk::Shader::createProgram ( )

Definition at line 54 of file Shader.cpp.

§ disableVertexAttribArray()

void gk::Shader::disableVertexAttribArray ( const std::string &  name) const

Definition at line 158 of file Shader.cpp.

§ enableVertexAttribArray()

void gk::Shader::enableVertexAttribArray ( const std::string &  name) const

Definition at line 154 of file Shader.cpp.

§ linkProgram()

void gk::Shader::linkProgram ( )

Definition at line 58 of file Shader.cpp.

§ loadFromFile()

void gk::Shader::loadFromFile ( const std::string &  vertexFilename,
const std::string &  fragementFilename 
)

Definition at line 45 of file Shader.cpp.

§ program()

GLint gk::Shader::program ( ) const
inline

Definition at line 54 of file Shader.hpp.

§ setUniform() [1/4]

void gk::Shader::setUniform ( const std::string &  name,
int  n 
) const

Definition at line 162 of file Shader.cpp.

§ setUniform() [2/4]

void gk::Shader::setUniform ( const std::string &  name,
float  x,
float  y 
) const

Definition at line 166 of file Shader.cpp.

§ setUniform() [3/4]

void gk::Shader::setUniform ( const std::string &  name,
const glm::mat4 &  matrix 
) const

Definition at line 170 of file Shader.cpp.

§ setUniform() [4/4]

void gk::Shader::setUniform ( const std::string &  name,
const Transform transform 
) const

Definition at line 174 of file Shader.cpp.

§ uniform()

GLint gk::Shader::uniform ( const std::string &  name) const

Definition at line 143 of file Shader.cpp.

Member Data Documentation

§ m_fragmentShaders

std::vector<GLuint> gk::Shader::m_fragmentShaders
private

Definition at line 58 of file Shader.hpp.

§ m_program

GLuint gk::Shader::m_program
private

Definition at line 60 of file Shader.hpp.

§ m_vertexShaders

std::vector<GLuint> gk::Shader::m_vertexShaders
private

Definition at line 57 of file Shader.hpp.


The documentation for this class was generated from the following files: