#ifndef LLMR_RENDERER_SHADER #define LLMR_RENDERER_SHADER #include namespace llmr { class Shader { public: Shader(const char *vertex, const char *fragment); virtual ~Shader(); // Make noncopyable Shader(const Shader&) = delete; Shader(const Shader&&) = delete; Shader &operator=(const Shader&) = delete; Shader &operator=(const Shader&&) = delete; bool valid; uint32_t program; std::forward_list attributes; private: bool compileShader(uint32_t *shader, uint32_t type, const char *source); }; } #endif