34 lines
529 B
C++
34 lines
529 B
C++
#include "ShaderProgram.h"
|
|
|
|
namespace charcoal
|
|
{
|
|
ShaderProgram::ShaderProgram()
|
|
: m_program(glCreateProgram())
|
|
{}
|
|
|
|
ShaderProgram::~ShaderProgram()
|
|
{
|
|
glDeleteProgram(m_program);
|
|
}
|
|
|
|
void ShaderProgram::attach_shader(const Shader& shader)
|
|
{
|
|
glAttachShader(m_program, shader.get_shader());
|
|
}
|
|
|
|
void ShaderProgram::link()
|
|
{
|
|
glLinkProgram(m_program);
|
|
// TODO: Error handling
|
|
}
|
|
|
|
void ShaderProgram::use() const
|
|
{
|
|
glUseProgram(m_program);
|
|
}
|
|
|
|
GLuint ShaderProgram::get_program() const
|
|
{
|
|
return m_program;
|
|
}
|
|
} |