ManualObject 2D
From Ogre Wiki
This demonstrates an easy way to use ManualObject for creating 2D overlays. The code works in Eihort (Ogre 1.4) and in Shoggoth (Ogre 1.6).
Note: You should use a material that has lighting and depth write turned off for this to behave correctly. See Displaying 2D Backgrounds for an example how to set up such a material programmatically.
// Create a manual object for 2D
ManualObject* manual = mSceneMgr->createManualObject("manual");
// Use identity view/projection matrices
manual->setUseIdentityProjection(true);
manual->setUseIdentityView(true);
manual->begin("BaseWhiteNoLighting", RenderOperation::OT_LINE_STRIP);
manual->position(-0.2, -0.2, 0.0);
manual->position( 0.2, -0.2, 0.0);
manual->position( 0.2, 0.2, 0.0);
manual->position(-0.2, 0.2, 0.0);
manual->index(0);
manual->index(1);
manual->index(2);
manual->index(3);
manual->index(0);
manual->end();
// Use infinite AAB to always stay visible
AxisAlignedBox aabInf;
aabInf.setInfinite();
manual->setBoundingBox(aabInf);
// Render just before overlays
manual->setRenderQueueGroup(RENDER_QUEUE_OVERLAY - 1);
// Attach to scene
mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(manual);
Gives an outlined rectangle in the middle of the screen that is always visible.

