#ifndef TEXTURE_HPP #define TEXTURE_HPP #include namespace oglu { void ActiveTexture(GLubyte index); class OGLU_API AbstractTexture { public: AbstractTexture(const AbstractTexture& other); ~AbstractTexture(); friend std::shared_ptr OGLU_API MakeTexture(const char* filename); void Bind(); void Unbind(); private: AbstractTexture(const char* filename); private: int width, height, nrChannels; GLuint texture; }; typedef std::shared_ptr Texture; } #endif