Files
untitled-game/inc/engine/shaders.hpp
2025-11-27 11:37:56 +00:00

26 lines
702 B
C++

#ifndef SHADER_HPP
#define SHADER_HPP
#define GL_GLEXT_PROTOTYPES
// Includes
#include <SDL3/SDL_opengl.h>
#include <glm/glm.hpp>
#include <string>
// Shader class
class Shader {
public:
unsigned int ID;
Shader(const char* vertexPath, const char* fragmentPath);
void use() const;
void setBool(const std::string &name, bool value) const;
void setInt(const std::string &name, int value) const;
void setFloat(const std::string &name, float value) const;
void setMat4(const std::string &name, const glm::mat4 &mat) const;
void setVec3(const std::string &name, const glm::vec3 &vec) const;
~Shader();
private:
const char* read_file(const char* filePath);
};
#endif