通常在Ogre中我们是导入点mesh文件来进行构造实体的,但是很多情况下我们可能就需要创建一个非常简单的平面或是线,或是有时想自己在程序中创建这样物体,这就需要用到Ogre的manual object,它就像你用opengl在程序中绘制一个物体的道理一样,在程序中定义你绘制的信息,而是用起来也很像在opengl中绘制物体。

创建一个人造物体的方法通常是这样的:

1.需要先用场景管理器去创建一个人造物体的指针

ManualObject* mo=smgr->createManualObject("mo");

2.然后使用人造物体的begin/end对进行绘制,和在opengl中很类似,但是规则有些不同:

mo->begin("BaseWhiteNoLighting",RenderOperation::OT_TRIANGLE_LIST);首先制定你需要绘制什么元素,用什么材质

然后下面就制定点的信息,

每次用mo->position指定一个点的位置,然后在这句后面和下一个mo->position前面指定这个顶点的颜色、法向等,这个和opengl是完全不同的

mo->position(-100,100,0)

mo->colour(0,0,1);
mo->position(100,100,0);

是说第一个顶点的颜色是蓝色,而不是第二个!

如果不指定颜色信息,那么该店的颜色为上一个指定了颜色的顶点的颜色。

你可以再一个manulobject中书写多个begin end对

当我们创建好manualobject后,为了在场景中渲染他,只需要将它用scenenode::attach到一个场景节点上

或者有时你需要将这个manualobject转化为一个mesh,需要调用manualobject的convertToMesh函数

转载于:https://www.cnblogs.com/weizhixiao/archive/2010/08/09/5697360.html

Ogre:ManualObject相关推荐

  1. 开源3D图形渲染引擎OGRE学习笔记

    参考资料: 电子书:<Pro OGRE 3D Programming>中文翻译本 官方wiki: http://www.ogre3d.org/wiki/index.php/Main_Pag ...

  2. 最简单的Ogre系列之二——画线

    转载自:http://blog.csdn.net/zhuxiaoyang2000/article/details/6326315 在最简单的Ogre程序(不使用ExampleListener/Appl ...

  3. OGRE 2.1 Windows 编译

    版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...

  4. OGRE的学习资源简单总结

    转:https://www.cnblogs.com/liangliangh/p/3572211.html 首先是wikipedia的介绍: http://en.wikipedia.org/wiki/O ...

  5. 二:程序员资料大全-各种神奇的资料收集笔记

    http://tools.zhaishidan.cn/ 资料篇 技术站点 必看书籍 大牛博客 GitHub篇 工具篇 平台工具 常用工具 第三方服务 爬虫相关(好玩的工具) 安全相关 Web服务器性能 ...

  6. GitHub上整理的一些工具【转载】

    技术站点Hacker News:非常棒的针对编程的链接聚合网站Programming reddit:同上MSDN:微软相关的官方技术集中地,主要是文档类infoq:企业级应用,关注软件开发领域OSCh ...

  7. (转)✈工欲善其事,必先利其器✔™

    附:我在GitHub上整理的一些资料 技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 i ...

  8. 程序员整理的各种不错的工具

    技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...

  9. 整理一份程序员常用的各类工具、技术站点

    1. 技术站点 Hacker News:非常棒的针对编程的链接聚合网站 MSDN:微软相关的官方技术集中地,主要是文档类 infoQ:企业级应用,关注软件开发领域 OSChina:开源技术社区,开源方 ...

最新文章

  1. mongodb地理位置索引实现原理
  2. ASP.NET无刷新客户端回调
  3. FastQC结果解读
  4. 95 后大学生利用漏洞免费吃肯德基获刑
  5. [ORACLE错误]oracle 不能更新 PL/SQL 点击“edit data”报“ these query results are not updateable”...
  6. 事务,Oracle,MySQL及Spring事务隔离级别
  7. Difference between RawValue and FormattedValue
  8. 山东大学 2020级数据库系统 实验二
  9. 关于libusb-win32开发的经验
  10. mysql_fetch_row()获取显示数据
  11. python语言开发环境配置理论_python语言开发环境配置
  12. UED团队建设系列之前端开发工程师:职业技能与素质
  13. endnote导入参考文献及国标(Chinese standard)
  14. iOS9 获取手机的唯一标识(一)——CFUUID、NSUUID、IDFA、IDFV、UDID、OpenUDID 的区别
  15. CentOS清除用户登录记录和命令历史方法
  16. puppet插件fact和hiera(puppet自动化系列3)
  17. 06 基于v5-resources在macos系统搭建a8服务
  18. OculusClient登录错误“发生意外错误,请稍后重试(OVR40779122)”解决方法
  19. 第八课 k8s源码学习和二次开发原理篇-KubeBuilder使用和Controller-runtime原理
  20. 使用批处理恢复被病毒隐藏的文件和目录

热门文章

  1. Java各层之间的关系
  2. 《Effective Debugging:软件和系统调试的66个有效方法》一第2条:在网上确切地查询你所遇到的问题,以寻求解决问题的灵感...
  3. js设置radio 和checkbox 单选
  4. Spring都用到了那些设计模式(3)
  5. typename与class
  6. QBC的distinct查询
  7. [译]Windows 服务用户帐户
  8. Mysql的master,slave的配置
  9. 10532: 花 [dp]
  10. 基于Redis+Kafka的首页曝光过滤方案