// FrameListener callback (~ idleFunc). Perform animation here bool frameRenderingQueued(const Ogre::FrameEvent& evt) { float t = mTimer.getMilliseconds()*0.001; // Do some simple animations by changing scene node transform parameters Ogre::SceneNode* triangle = mScene->getSceneNode("Triangle"); triangle->resetToInitialState(); triangle->rotate(Ogre::Vector3(0, 0, 1), Ogre::Radian(t)); // Exercise 1: Use SceneNode to manipulate the object and create animation // ... return true; // Return false to quit }