#pragma once #include #include namespace td { namespace GL { class Texture : private sp::NonCopyable { public: Texture(const char* a_Data, int a_Width, int a_Height, int a_Comp); Texture(Texture&& a_Other); ~Texture(); void Bind() const; void Unbind() const; private: unsigned int m_ID; }; } // namespace GL namespace TextureLoader { GL::Texture LoadTexture(const std::string& fileName); } } // namespace td