#include "shader.h" namespace gfx { Shader::Shader(const std::string& text, int type) { _shader_id = glCreateShader(type); int len = text.length(); const char* txt = text.c_str(); glShaderSource(_shader_id, 1, &txt, &len); glCompileShader(_shader_id); } Shader::Shader(Shader&& other) : _shader_id(other._shader_id) { other._shader_id = 0; } Shader::~Shader() { if (!_shader_id) return; // Delete the shader glDeleteShader(_shader_id); } GLuint Shader::shader_id() { return _shader_id; } }