ogre小知识点

原创 2015年07月07日 17:20:53

最近学习下ogre,使用感觉还算不错。本文记录下我学到的ogre小知识点。
1. ogre场景组织。ogre的各类资源都有其管理类,如Scene/Mesh/Material等。
2. ogre场景组织。ogre使用Node的子类SceneNode做为场景结点,来构建常用的场景树。SceneNode下可添加(attach) MovableObject对象,MovableObject有两个子类ManualObject和Entity。ManualObject由用户自己输入要显示内容的点/面/颜色等;Entity下的显示内容由Mesh对象(唯一对应)提供,Mesh可由代码生成,也可用代码生成。
3. Camera显示功能。目前Ogre为Camera提供了3种显示功能:点/线/实体,操作代码如下:

 case 0:   mMain->getCamera()->setPolygonMode(Ogre::PM_POINTS);   break;
 case 1:   mMain->getCamera()->setPolygonMode(Ogre::PM_WIREFRAME);   break;
 case 2:   mMain->getCamera()->setPolygonMode(Ogre::PM_SOLID);      break;`

4.环境光设置

mSceneMgr->setAmbientLight( ColourValue( 1, 1, 1 ) )

5.设置背景色
Ogre::RenderWindow::getViewport(int index)::setBackgroundColour (const ColourValue &colour)

6.Qt与Ogre结合
官网给出了ogre和qt5结合的例子,http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Integrating+Ogre+into+QT5
例子中使用QWindow而不是QWidget,因为(1)QWindow是qt5中新加的,它比QWidget抽象层级更高(3)在QtGui模块中,这有利于减少文件体积,尤其对于qt quick开发的,qt quick依赖于QML模块,不依赖QWidgets模块。

在我们使用的时候要用将这个QWindow的窗口加载到QWidget中使用,但问题出现了。一定要

QWindow* w = new QTOgreWindow;
w->resize(400, 300)        // 顺序一定不能变,否则Ogre窗口启动时会出现窗口大小178x0或0x0的错误
QWidget* w2 = QWidget::createWindowContainer(ogreWindow);///这个w2没有任何作用,它本身不做任何操作,甚至不检查参数,全部直接传给w

7.启动Ogre抗锯齿
Ogre的抗锯齿在Ogre.cfg中设置后无效需要在建立窗口的时候设置才有效。代码如下:

root.Initialise(false);
NameValuePairList misc = new NameValuePairList();
misc["externalWindowHandle"] = hWnd.ToString();
misc["FSAA"] = "4";  // 可选值0,2,4,8,切记是字符串
window = root.CreateRenderWindow("Simple Mogre Form Window", 0, 0, false, misc);

相关文章推荐

Ogre 节点、属性方法 案例分析

2012-06-20 08:54 1667人阅读 评论(0) 收藏 举报 vectorfloatvelocitynullcamblend DirectX使用的是左手坐标系x正向右,y正...

软件架构师知识点2

  • 2017年11月13日 09:58
  • 396KB
  • 下载

软考必备知识点

  • 2017年11月09日 22:41
  • 928KB
  • 下载

Hadoop之YARN相关知识点汇总

一、yarn的基本概念 最近一段时间,经常看到有人在微博上说,“很多公司暂时用不到YARN,因为一般公司的集群规模并未像Yahoo、Facebook那样达到几千台,甚至将来几万台”。这完全是一种错误...

Spring3.x知识点总结

  • 2017年11月05日 19:55
  • 747KB
  • 下载

识记知识点

  • 2017年11月14日 17:01
  • 490KB
  • 下载

jsp和servlet知识点总结

一.Jsp与servlet的区别: 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM...

html5桌面通知知识点分享

  • 2017年10月13日 10:33
  • 18KB
  • 下载

毕向东JAVA基础知识点总结

  • 2017年11月08日 18:07
  • 323KB
  • 下载

TensorFlow基础知识点(六)/矩阵基本操作

import tensorflow as tf# 1.1矩阵操作 sess = tf.InteractiveSession() x = tf.ones([2, 3], "float32") print...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ogre小知识点
举报原因:
原因补充:

(最多只允许输入30个字)