learn-opengl/02-shader-class/src/shader.hpp
2026-08-21 13:15:55 -04:00

20 lines
571 B
C++

#pragma once
#include <glad/glad.h>
#include <string>
#include <climits>
class Shader
{
public:
unsigned int ID = UINT_MAX;
Shader(const char* vertexPath, const char* fragmentPath);
unsigned int load_shader(const std::string& filename, GLenum shader_type);
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 setVec4(const std::string &name, float v1, float v2, float v3, float v4) const;
void cleanup();
};