ogre场景管理

OGRE 场景管理(Scene Management)

场景管理(Scene Management)主要包括对场景物体增删改查、变换、遍历、剔除、渲染等操作。OGRE中与场景管理相关的类有SceneManager, Node, SceneNode, MovableObject, Entity, OctreeSceneManager, PCZSceneManager

类关系分析

Node类是抽象基类,表示场景图中一种general purpose的点,拥有3类坐标转换:本地坐标,父坐标,世界坐标

SceneNode 场景树的节点,包含包围盒属性,使用attachObject可将物体包含。

MovableObject 抽象基类,定义可包含节点的可移动对象

Entity 继承MovableObject, 场景实体,包含mesh模型

SceneManager 场景管理类,组织和渲染场景

octreescenemanager 八叉树场景管理类,SceneManager派生类

PCZSceneManager SceneManager派生类

类关系图

类关系图

设计模式解析

  • 抽象工厂模式,SceneManger提供与场景管理相关的对象接口,而无需指定他们具体的类,具体工厂负责实现具体的实例
  • 组合设计模式,场景节点与实体的组合关系,实现场景节点和场景内容的分离,节点记录几何变换信息,实体成功创建可包含在多个节点,提高复用和实现解耦
  • 可扩展性好,SceneManager没有提供场景图遍历算法,以继承方式支持扩展场景管理算法

场景管理流程

  1. root创建SceneManager
  2. SceneManager创建SceneNode
  3. SceneManager创建Entity
  4. SceneNode关联entity
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值