diff options
Diffstat (limited to 'src/Shader/Shader.cpp')
| -rw-r--r-- | src/Shader/Shader.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/Shader/Shader.cpp b/src/Shader/Shader.cpp new file mode 100644 index 0000000..0cd6ab3 --- /dev/null +++ b/src/Shader/Shader.cpp @@ -0,0 +1,24 @@ +#include <GL/glew.h> +#include <stdexcept> +#include "Shader.hpp" + +namespace MC { + +Shader::Shader(uint32_t type, const char* source) { + m_shader = glCreateShader(type); + + glShaderSource(m_shader, 1, &source, nullptr); + glCompileShader(m_shader); + + GLint success; + glGetShaderiv(m_shader, GL_COMPILE_STATUS, &success); + if(!success) { + char message[512] = {}; + glGetShaderInfoLog(m_shader, 512, nullptr, message); + + throw std::runtime_error(message); + } +} + + +} \ No newline at end of file |
