#pragma once #include #include #include "defines.hpp" struct Shader { Shader(const char* vertexShaderFileName, const char* fragmentShaderFileName); virtual ~Shader(); void bind(); void unbind(); GLuint getShaderId(); private: GLuint compile(std::string shaderSource, GLenum shaderType); std::string parse(const char* filename); GLuint createShader(const char* vertexShaderFileName, const char* fragmentShaderFileName); GLuint shaderId; };