Programming

Know what is available, know how to use it and know when to use it...

Ogre isn't completely bug free, and isn't completely unified, nor is it completely documented for every use-case. You have been warned...

Note: Ogre is being updated and restructured in it's newest versions and many of it's initializations and overall usages are changing. The latest 2.0 and 2.1 versions are significantly different from previous versions and require much documentation reading to learn the newest changes.

Tip:

Sometimes programming with Ogre can be a little tricky to novice and intermediate c++ programmers. Initializing variables may require you to use a function. Such as when using a pointer such as Ogre::Camera * mCamera. To initialize it, you may think to do -

mCamera = new Ogre::Camera(...);

Which is in fact, wrong and will lead to a crash saying "Error, abort() was called." Fun huh? In fact the correct way to do this is -

mCamera = mSceneMgr->createCamera(...);

"Sometimes the problem may lie between the keyboard and chair." :)