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.
See also
Alias: ManualObject_2D