Files
wc3re/render/Object.hh

43 lines
807 B
C++

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