使用ManualObject或者其派生類渲染簡單的幾何物體, 步驟如下:
1. 新創建一個ManualObject對象
mManualObj = new Ogre::ManualObject("SimpleStuff2");
2. 設置該ManualObject的參數
1) 設置其渲染序列組
mManualObj->setRenderQueueGroup(RENDER_QUEUE_OVERLAY);
2) 使用單元投影矩陣和單元視圖矩陣, 這兩個默認爲false, 即使用相機的視圖矩陣和投影矩陣
mManualObj->setUseIdentityProjection(true);
mManualObj->setUseIdentityView(true);
使用這兩個函數之後, 所繪製的物體座標範圍位於(-1, -1, -1)至(1, 1, 1)之間
3) 設置查詢參數
mManualObj = new Ogre::ManualObject("SimpleStuff2");
3. 調用繪製函數
mManualObj->clear();
mManualObj->begin("", RenderOperation::OT_LINE_STRIP);
for (int i = 0; i < 5; i++)
{
mManualObj->position(pos[i]);
}
mManualObj->end();
4. 創建場景節點掛接該對象
mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(mManualObj);
全部代碼;
SimpleStuff.h
view sourceprint?
01 #ifndef __SIMPLE_STUFF_H__
02 #define __SIMPLE_STUFF_H__
03 #include "ExampleApplication.h"
04 class SimpleStuffApp : public ExampleApplication
05 {
06 public:
07 SimpleStuffApp() {}
08 ~SimpleStuffApp()
09 {
10 if(mManualObj)
11 {
12 delete mManualObj;
13 }
14 }
15 protected:
16 void createScene();
17 Ogre::ManualObject* mManualObj;
18 };
19 #endif
SimpleStuff.cpp
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/pizi0475/archive/2011/03/16/6254708.aspx