Ogre 如何渲染简单的几何物体

来源:互联网 发布:图片展示类cms系统 编辑:程序博客网 时间:2024/05/19 11:19

使用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