OGRE场景管理

1、SceneGraph(场景图) 的概念

  SceneGraph一般以树型结构组织,反映了场景中对象的逻辑关系,这里一定要把用于空间分割的二叉树、八叉树算法区别开来,场景图只是逻辑关系而已。以下是组织高效的场景图的一些准则:

    1)不要用场景图来进行可见性检测。

    2) 不要用场景图来进行碰撞查询。

    3) 不要以空间关系建立场景图,应该以逻辑关系建立。

2 OGRE  SceneGraph特色

   在OGRE的特色在于场景内容和场景节点分离,这样也就解耦场景内容和场景节点,使得场景管理器可以以插件的形式加载,与场景内容无关,大大的增加了场景管理的灵活性。

3OGRE场景管理器

     OGRE的场景管理器是以插件的形式载入的,不同的场景管理器插件代表不同的场景管理器类型。Ogre自身提供三个场景管理器类型:OctreeSceneManagerTerrainSceneManagerBSPSceneManagerOctreeSceneManager是一个通用的基于八叉树空间划分的场景管理器。TerrainSceneManager是一个为高度场场景优化的场景管理器。

在通常的情况下,Ogre的场景管理器会负责处理以下事情:

   1)在场景中创建和放置活动物体、灯光以及摄像机,并维护他们的在场景图中的周游和变换。

   2)载入和布置世界地图(World geometry,与活动实体不同,世界地图是巨大且可以延伸的,通常情况下是不可移动的,比如一个完整的BSP地图)。

   3)对场景查询(Scene Queries)的支持,比如回答“在世界的某个原型空间内,都包含了那些物体”。

   4)剔除不可见物体并且将可见物体放入渲染队列。

   5)根据当前和渲染物体的透视图,对无方向的光源(Nondirectional Light)进行组织和排序(按由近到远)。

   6)设置并且渲染场景中的阴影。

   7)渲染场景中的其他物体,如背景和天空盒

   8)发送组织好的内容到渲染系统执行渲染

4、场景节点(SceneNode)

        场景管理器用场景节点来定义场景图的结构。这些场景节点以层次的结构组织在场景管理器中:一个场景节点可以有一个父节点和任意数量的子节点。在场景管理器创建的时候,会给整个场景提供一个总的父节点:场景的根节点(Root Scene Node)——场景中唯一没有父节点的场景节点。

5、场景内容节点

  场景内容节点才是真正的场景对象,包括以下一些类型:

               以资源为基础的物体(Resource-Based Objects

               以四边形为基础的物体(Quad-Based Objects

    天空面(Skyplane

    穹顶(Skydome

    天空盒(Skybox)

    摄象机(Camera

    灯光(Light

    世界地图(World Geometry

    静态几何体(Static Geometry

转载于:https://www.cnblogs.com/cxrs/archive/2012/06/13/2547401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值