21 virtual glm::vec3 getPos(glm::vec3);
22 virtual glm::vec3 getSize(glm::vec3);
23 virtual glm::vec3 getRotationAxis(glm::vec3);
24 virtual float getRotationAngle(float);
29 void (*on_finish)(void *);
32 IAnimation() = default;
33 IAnimation(double, void (*)(void *), void *);
36 int vertices_per_texture;
37 glm::vec3 pos, size, rotation_axis;
39 float rotation_angle = 0;
40 std::vector<Texture> textures;
41 IAnimation *animation = nullptr;
44 void render(double dtime, Frustum *, glm::mat4, glm::mat4, glm::vec3);
48 Mesh(Scene *, ShaderProgram *, const GLfloat *, GLsizei);
51 GLuint VAO = 0, VBO = 0;
53 ShaderProgram *shader_program;
54 GLvoid *vertices = NULL;
55 GLsizeiptr vertices_size;
56 bool configured = false;
57 bool rendering = false;
58 bool prepare_death = false;
59 bool do_delete = false;