#include #include #include "ShaderProgram.hpp" namespace MC { ShaderProgram::ShaderProgram(Shader fragment, Shader vertex) { m_program = glCreateProgram(); glAttachShader(m_program, fragment.get()); glAttachShader(m_program, vertex.get()); glLinkProgram(m_program); glDeleteShader(fragment.get()); glDeleteShader(vertex.get()); GLint success; glGetProgramiv(m_program, GL_LINK_STATUS, &success); if(!success) { char message[512] = {}; glGetProgramInfoLog(m_program, 512, nullptr, message); throw std::runtime_error(message); } } void ShaderProgram::bind() const { glUseProgram(m_program); } }