added very simple animation system

This commit is contained in:
Anselme 2016-07-22 13:21:32 +02:00
parent 0e560c2eef
commit 3bf2aba9db
2 changed files with 18 additions and 5 deletions

View File

@ -59,9 +59,17 @@ class MeshNode : public SceneNode
{
GeometryNode geometry;
public:
// temp
glm::mat4 m_movement;
glm::mat4 m_acceleration;
MeshNode(Mesh* mesh) : geometry(mesh, glm::mat4()) {}
virtual void update() {}
virtual void update()
{
m_movement = m_acceleration * m_movement;
geometry.modelMatrix = m_movement * geometry.modelMatrix;
}
void setTransform(const glm::mat4 &transform) { geometry.modelMatrix = transform; }
const glm::mat4& getTransform() { return geometry.modelMatrix; }

View File

@ -54,16 +54,21 @@ int main(){
MeshNode* mnode/* = new MeshNode(fonte_des_neiges->getTextMesh("Hello World!"));
scene.addObject(scene.getRootObject(),mnode)*/;
mnode = new MeshNode(fonte_des_neiges->getTextMesh("WOW!", glm::vec3(0.5, 0.7, 0.2)));
mnode = new MeshNode(fonte_des_neiges->getTextMesh("WOW", glm::vec3(0.5, 0.7, 0.2)));
mnode->setTransform(glm::rotate(glm::translate(glm::mat4(), glm::vec3(70, 30, 0)), 0.4f, glm::vec3(0, 0, 1)));
scene.addObject(scene.getRootObject(),mnode);
mnode = new MeshNode(fonte_des_neiges->getTextMesh("Such Text!", glm::vec3(0.7, 0.4, 0.2)));
mnode = new MeshNode(fonte_des_neiges->getTextMesh("Such Text", glm::vec3(0.7, 0.4, 0.2)));
mnode->setTransform(glm::rotate(glm::translate(glm::mat4(), glm::vec3(200, 170, 0)), -0.5f, glm::vec3(0, 0, 1)));
scene.addObject(scene.getRootObject(),mnode);
mnode = new MeshNode(fonte_des_neiges->getTextMesh("Very font!", glm::vec3(0.7, 0.2, 0.8)));
mnode->setTransform(glm::rotate(glm::translate(glm::mat4(), glm::vec3(260, 300, 0)), 0.1f, glm::vec3(0, 0, 1)));
mnode = new MeshNode(fonte_des_neiges->getTextMesh("Very font", glm::vec3(0.7, 0.2, 0.8)));
mnode->setTransform(glm::rotate(glm::translate(glm::mat4(), glm::vec3(180, 400, 0)), 0.1f, glm::vec3(0, 0, 1)));
scene.addObject(scene.getRootObject(),mnode);
mnode = new MeshNode(fonte_des_neiges->getTextMesh("Much animation", glm::vec3(0.3, 0.3, 0.8)));
mnode->setTransform(glm::translate(glm::mat4(), glm::vec3(400, 250, 0)));
mnode->m_movement = glm::translate(glm::rotate(glm::translate(glm::mat4(), glm::vec3(580, 280, 0)), 0.03f, glm::vec3(0, 0, 1)), glm::vec3(-580, -280, 0));
scene.addObject(scene.getRootObject(),mnode);
engine.setScene(&scene);