added very simple animation system
This commit is contained in:
parent
0e560c2eef
commit
3bf2aba9db
@ -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; }
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user