#ifndef __OPENGLPLAYGROUND_OBJECT_HH__ #define __OPENGLPLAYGROUND_OBJECT_HH__ #include #include #include "objectParser.hh" #include "VBOManager.hh" class Program; class Object { public: Object(VBOManager& vboManager, std::vector const& vas, std::vector indices, Program& prog); Object(VBOManager& vboManager, std::string const& filename, Program& prog); Object(Object const& copy) = delete; ~Object(); Object& operator=(Object const& copy) = delete; void draw(glm::mat4 const& modelview, Program *override = nullptr) const; private: void construct(std::vector const& vas); VBOManager& _vboManager; VBOManager::VBOAlloc _vbo; Program& _prog; std::vector _indices; gl::GLuint _vaID; }; #endif