#pragma once #include "glm/glm.hpp" #include "glm/mat4x4.hpp" namespace deerith { class shader_t { public: unsigned int id; shader_t(const char *vertexPath, const char *fragmentPath); void use() const; void set_bool(const char *name, bool value) const; void set_int(const char *name, int value) const; void set_float(const char *name, float value) const; void set_matrix(const char *name, const glm::mat4 &value); void set_vec3(const char *name, const glm::vec3 &value); void set_vec4(const char *name, const glm::vec4 &value); }; }