24 lines
597 B
C++
24 lines
597 B
C++
#ifndef SHADER_HPP
|
|
#define SHADER_HPP
|
|
#define GL_GLEXT_PROTOTYPES
|
|
|
|
// Includes
|
|
#include "utils.hpp"
|
|
#include <iostream>
|
|
#include <SDL3/SDL_opengl.h>
|
|
#include "geometry.hpp"
|
|
|
|
// 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;
|
|
~Shader();
|
|
};
|
|
|
|
#endif |