Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Pre-requisite:

  1. OGRE3D Base Environment Setup (Windows)
  2. Object-Oriented Programming

Objectives:

  1. Refactor the ogre head and pack it into an object

Descriptions:

  1. Use Ogre AppWizard to create a new OGRE project
  2. in the createScene method of your OgreApp

    Code Block
    languagecpp
    titleCreating the ogrehead and the ambient light
    linenumberstrue
     void Refactoring101::createScene(void)
    {
        Ogre::Entity* ogreHead = mSceneMgr->createEntity("Head", "ogrehead.mesh");
        Ogre::SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
        headNode->attachObject(ogreHead);
        // Set ambient light
        mSceneMgr->setAmbientLight(Ogre::ColourValue(0.5, 0.5, 0.5));
        // Create a light
        Ogre::Light* l = mSceneMgr->createLight("MainLight");
        l->setPosition(20,80,50);
    }
  3. Read the code : to display a 3D object, there needs to be an Entity and a Node
    1. A node can contain multiple entities.
    2. Entity cannot have the same name.
    3. Node can be unmaned, but it will be hard to retrieve.
    4. Node with same name is also not allowed.
  4. What we need is to put the ogrehead code into our custom class.