#pragma once #ifndef _NB_SHADER #define _NB_SHADER #include #include #include #include #include #include #include #include namespace NB { class Shader { public: Shader(const char* vertexPath, const char* fragmentPath); Shader(); Shader(const Shader&); Shader& operator=(const Shader&); 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, glm::mat4& value) const; unsigned int id; private: }; } #endif