Ogre 整体框架入门

ogre 是面向对象的3d图形引擎。
root 是引擎的一个界面类,包含很多快捷的调用其他类的接口。
在ogre中,广泛的使用了单件模式,同时最大的保证了你不需要自己管理资源,除了是你自己new的对象(这很少),基本你只需让ogre负责资源管理就行。这对于一个复杂的类库来说,确实是一个很强大的特性。
ogre主要分为场景管理(SceneManager),资源管理(ResourceGroupManager),渲染器(RenderSystem),还有活动对象(Movable Object)这几样重点的。其中渲染器是封装底层图形api的,一般无需进行编程。资源管理器负责调度程序所需要的模型,材质,纹理等资源。而重点,是放在场景管理和对活动对象的编程上。场景管理是管理3d逻辑空间的划分,变换,和空间搜索等操作的。其中划分是一个场景管理的固有功能,无需编程,主要编程在于3d空间变换和空间搜索上,而将活动对象挂接在3d空间的树状对象点上。树状抽象了每个点的3d空间,有自身空间,父空间,还有根空间(也就是世界空间坐标系)。活动对象是一个具体的可以渲染的对象,比如模型,纹理,材质,粒子等,或者是一些协助渲染的对象,比如摄像头,灯光等。
这么复杂的一个对象结构,他们是怎样通信的呢。我留意到了,几乎所有“实例”,都有一个对应的字符串相关,这是一个标识对象和搜索对象的快捷的办法。比如我们要搜索“head"模型,只需要在资源管理器的查找api中将"head"传递过去。然后,所有的对象都有一个对象管理器的单件实现来负责管理,这就为我们提供了简单的入口点。
另一个程序编写的重点在于活动对象本身。主要是他的属性的设置上,相当丰富,ogre的做法是通过脚本来设置。你会看到材质脚本,纹理脚本,模型脚本, GPU程序脚本,粒子脚本等。这在某种程度上,也帮助了可视化辅助工具的开发。假设,我们都能够用工具来生成这些脚本,那么我们实际要编程的东西就可以少很多了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OGRE(O-O Graphics Rendering Engine) 使用指南________________________________________________________________1 作者_________________________________________________________________________ 6 序____________________________________________________________________________7 教程的目的_________________________________________________________________ 7 读者要求___________________________________________________________________ 7 教程的由来_________________________________________________________________ 7 OGRE简介___________________________________________________________________ 8 OGRE特点_________________________________________________________________ 8 效率特性__________________________________________________________________8 平台和3D API 支持________________________________________________________ 8 网格Meshes_______________________________________________________________ 8 场景特性__________________________________________________________________9 特效______________________________________________________________________9 其它特性__________________________________________________________________9 OGRE中的模块_____________________________________________________________ 9 OgreMain 模块____________________________________________________________ 10 SDL 平台管理模块________________________________________________________ 11 Win32 平台管理模块_______________________________________________________11 BSP 场景管理_____________________________________________________________11 文件系统插件_____________________________________________________________11 GuiElement 插件__________________________________________________________ 11 OctreeSceneManager 插件___________________________________________________ 11 ParticleFX 插件___________________________________________________________ 12 Direct3D7 渲染系统插件____________________________________________________12 Direct3D8 渲染系统插件____________________________________________________12 SDL 渲染系统插件________________________________________________________ 12 3ds2oof 工具______________________________________________________________12 3Dstudio Max 导出器_______________________________________________________12 位图字体创建工具_________________________________________________________12 Milkshape3D 导出器_______________________________________________________ 12 Python 接口______________________________________________________________ 13 XML 转换器______________________________________________________________13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值