Ogre 如何渲染简单的几何物体
2011-03-20 21:32
573 查看
使用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
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
相关文章推荐
- Ogre 如何渲染简单的几何物体
- Ogre 如何渲染简单的几何物体
- Ogre 如何渲染简单的几何物体
- Ogre 如何渲染简单的几何物体
- Ogre渲染简单的几何物体的方法
- Ogre渲染简单的几何物体的方法
- [转]Ogre如何在渲染时切换指定物体的材质技术
- Ogre的渲染流程,在渲染时材质是如何起作用的,材质加载和解析
- 物理引擎Havok的一个简单实例(使用Ogre渲染)
- 每天花30分钟看OGRE--(13)Ogre的渲染流程,在渲染时材质是如何起作用的,材质加载和解析
- 多线段几何图形—— 简单几何图形(如何判别图形的顺逆性)
- 多线段几何图形—— 简单几何图形(如何求图形中的凸角、凹角)
- 透明物体的渲染的简单理解
- Ogre中如何让节点按照物体的朝向移动
- Ogre Scene Renderer - 如何将一个可渲染对象加进渲染队列
- OGRE——渲染大量物体,批次(batch)
- Ogre的渲染流程,在渲染时材质是如何起作用的,材质加载和解析
- osg for android (一) 简单几何物体的加载与显示
- OGRE——渲染大量物体,批次(batch)
- 关于ogrebullet中如何判断两个物体何时碰撞的问题