YAGE  v0.1.3.0
Yet Another Game Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
yage::GlslProgram Class Reference

#include <glslprogram.h>

Public Member Functions

 GlslProgram ()=default
 
 GlslProgram (const GlslProgram &)=delete
 
 GlslProgram (GlslProgram &&)=delete
 
 ~GlslProgram ()
 
GlslProgramoperator= (const GlslProgram &)=delete
 
GlslProgramoperator= (GlslProgram &&)=delete
 
void compileShaders (const std::string &vertexShader, const std::string fragmentShader)
 compiles vertex and fragment shader More...
 
void compileShadersFromFile (const std::string &vertex_shader_path, const std::string &fragment_shader_path)
 
void linkShaders ()
 
void addAttribute (const std::string &attribute_name)
 
GLint getUniformLocation (const std::string &uniform_name)
 
void use ()
 
void unuse ()
 
void defaultSetup ()
 

Private Member Functions

void compileShader (GLuint shader, const std::string &shaderContent)
 compiles one shader More...
 
void compileShaderFromFile (GLuint shader, const std::string &file_path)
 
void initShaderId ()
 

Private Attributes

GLuint program_id_ = 0
 compiled shader program id More...
 
GLuint vertex_shader_id_ = 0
 
GLuint fragment_shader_id_ = 0
 
int attribute_index_ = 0
 

Constructor & Destructor Documentation

yage::GlslProgram::GlslProgram ( )
default
yage::GlslProgram::GlslProgram ( const GlslProgram )
delete
yage::GlslProgram::GlslProgram ( GlslProgram &&  )
delete
yage::GlslProgram::~GlslProgram ( )

cleans up all the shaders and the program

Member Function Documentation

void yage::GlslProgram::addAttribute ( const std::string &  attribute_name)
void yage::GlslProgram::compileShader ( GLuint  shader,
const std::string &  shaderContent 
)
private
void yage::GlslProgram::compileShaderFromFile ( GLuint  shader,
const std::string &  file_path 
)
private
void yage::GlslProgram::compileShaders ( const std::string &  vertexShader,
const std::string  fragmentShader 
)
void yage::GlslProgram::compileShadersFromFile ( const std::string &  vertex_shader_path,
const std::string &  fragment_shader_path 
)
void yage::GlslProgram::defaultSetup ( )
GLint yage::GlslProgram::getUniformLocation ( const std::string &  uniform_name)
void yage::GlslProgram::initShaderId ( )
private
void yage::GlslProgram::linkShaders ( )
GlslProgram& yage::GlslProgram::operator= ( const GlslProgram )
delete
GlslProgram& yage::GlslProgram::operator= ( GlslProgram &&  )
delete
void yage::GlslProgram::unuse ( )
void yage::GlslProgram::use ( )

Member Data Documentation

int yage::GlslProgram::attribute_index_ = 0
private
GLuint yage::GlslProgram::fragment_shader_id_ = 0
private
GLuint yage::GlslProgram::program_id_ = 0
private
GLuint yage::GlslProgram::vertex_shader_id_ = 0
private

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