2014年11月12日
摘要: 上面是我绘制的一张图。 关于八叉树场景管理器主要需要关注两个类,其一是松散八叉树的数据结构Ogre::Octree,其二是八叉树场景管理器Ogre::OctreeSceneManager。 下面摘录图片中的文字:松散八叉树的数据结构。属性:其中mBox为其包围盒,mHalfSize定义为包围盒... 阅读全文
posted @ 2014-11-12 21:56 bitbit 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 一个场景代表在虚拟世界中显示的物品。场景可以包括静态几何体(比如地形或者室内),模型(比如树、椅子等),光和摄像机。场景有下面种类。室内场景:可能由走廊、有家具的屋子和挂着装饰品的墙组成。室外场景:可能由山,树木,微微摇动的草地,飘着云彩的天空组成。Ogre提供了一套不同的场景管理器,每一种特别支持... 阅读全文
posted @ 2014-11-12 21:03 bitbit 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 以下是Ogre的代码中的详细说明:Renderable是OGRE中所有可渲染对象的抽象接口这个接口抽象出了在渲染管线中的被分组的离散的可渲染对象基本的方法。此接口的实现类必须是基于单一的材质、单一的世界矩阵(或者是一组通过权重混合的世界矩阵),以及单一的渲染操作。通过这个说明,应该能明确的是,Ren... 阅读全文
posted @ 2014-11-12 20:59 bitbit 阅读(1095) 评论(0) 推荐(1) 编辑
摘要: 一个渲染通路就是几何问题里的一次渲染;一个带有一整套渲染属性的渲染API的一次调用。一个技术可以包含有1到16个渲染通路,当然,渲染通路用得越多,技术在渲染的时候开销越大。为了清楚识别使用的到底是哪个渲染通路,渲染通路常常被起个名字,当然,也可以不起,名字并不是必需的。脚本中没有名字的渲染通路将会以... 阅读全文
posted @ 2014-11-12 20:57 bitbit 阅读(1535) 评论(0) 推荐(0) 编辑
摘要: 一、场景管理有很多种方法,如四叉树、八叉树、BSP、模糊K-D树、包围球层次结构等。室内环境主要是BSP为主,从quake3一直延续到现在主流的引擎都是以BSP为基础,BSP使用并不难,关键是数据的生成,这就牵涉到场景编辑器。 Quake3、Unreal:BSP,有自己的编辑器。 FarCry:场景... 阅读全文
posted @ 2014-11-12 20:54 bitbit 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 对于一个3D引擎来说,最核心的部分应该算是场景组织(scene graph)了,如果这部分你都没有设计好, 那么就别指望开发一个成熟的3D引擎了。为了开发3d引擎,所以我首先就研究这方面的内容,对一个3D的场景来说,又很多的物体,最简单的组织方法就是把他们用一个List连接起来,然后在绘制没一帧的时... 阅读全文
posted @ 2014-11-12 20:52 bitbit 阅读(1036) 评论(0) 推荐(0) 编辑
摘要: SceneManager分析场景管理主要工作包括以下几点:1.可移动、不可移动和可渲染物体的创建删除。2.场景查询。3.渲染队列。4.动态阴影。一.场景对象创建场景中的所有对象,包括可移动与不可移动的:Camera、Light、SceneNode、Entity、ManualObject、Billbo... 阅读全文
posted @ 2014-11-12 20:49 bitbit 阅读(1355) 评论(0) 推荐(0) 编辑
摘要: 1. Mesh、SubMesh、SubEntity和Entity所有的Mesh对象是由SubMesh构成的,每个SubMesh代表了Mesh对象的一部分,该部分只能使用一种Meterial。如果一个Mesh只采用一种Material,那么它可能只包含一个SubMesh。当基于Mesh创建出一个Ent... 阅读全文
posted @ 2014-11-12 20:48 bitbit 阅读(792) 评论(0) 推荐(0) 编辑