OpenGL/headers/shader.hpp
2025-01-06 00:40:31 -05:00

25 lines
682 B
C++

#ifndef SHADER_H
#define SHADER_H
#include <glad/glad.h>
#include <glm/glm.hpp>
#include <string>
class Shader {
public:
Shader(const char *vertexPath, const char *fragmentPath);
~Shader();
void use();
void setInt(const std::string &name, int value);
void setFloat(const std::string &name, float value);
void setMat4(const std::string &name, glm::mat4 value);
private:
unsigned int ID;
unsigned int shaderCMPL(GLenum type, const char *src);
void shaderERR(unsigned int shader);
unsigned int shaderProgramCMPL(const char *vertexSource,
const char *fragmentSource);
void shaderProgramERR(unsigned int shaderProgram);
};
#endif