#ifndef WC3RE_RENDER_OBJECT_HH__ #define WC3RE_RENDER_OBJECT_HH__ #define GLM_FORCE_RADIANS #include #include "Drawable.hh" #include "GlResource.hh" #include "VBOManager.hh" class ObjDecoder; class PaletteDecoder; namespace render { class Object : public TransformDrawable { public: Object(Renderer& renderer, ObjDecoder& obj, PaletteDecoder& palt); void setAnimFrame(unsigned frame) { animFrame_ = frame; } void draw() override; private: VertexArrayResource vertexArray_; gl::GLuint program_; VBOManager::VBOAlloc vbo_; TextureResource tex_, texAnim_; glm::mat4 vp_; uintptr_t indexOfs_; size_t numIndices_, maxIndex_; float rot_; unsigned animFrame_; }; } #endif