使用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);
![](https://i-blog.csdnimg.cn/blog_migrate/cba9ef96a90678f215078a4c48890a26.gif)
全部代码;
SimpleStuff.h
01 | #ifndef __SIMPLE_STUFF_H__ |
02 | #define __SIMPLE_STUFF_H__ |
03 | #include "ExampleApplication.h" |
04 | class SimpleStuffApp : public ExampleApplication |
17 | Ogre::ManualObject* mManualObj; |
SimpleStuff.cpp