ogre 学习笔记系列(二)三大模块及事件处理


一、三大模块

1 SceneManager 基础


  SceneManager管理出现在屏幕上的所有物体。当你把一个物体放到场景中,SceneManager就将对这个物体的坐标进行跟踪。当你建立一个摄象机时,SceneManager就将对他们所有东西进行跟踪。当你建立木块,广告牌,灯光...,SceneManager 还是会对他们进行跟踪。

  SceneManager也有许多的类型,有渲染地形的,有渲染BSP树的,等等。在这篇文章中,你将学到许多类型的SceneManager。

2 Entity 基础

  Entity是你在场景中渲染的物体的形状。你能把他想象成3D网格。一个机器人有网格,一条鱼有网格,你的角色行走的地形有一个大的网格。而如灯光,广告牌(Billboards),粒子,摄象机等没有Entity。

  值得注意的一件事是,OGRE是根据物体的坐标和方向的可渲染性分别进行渲染的。这就意味着你不能直接到场景中的一个网格进行渲染。你必须将要渲染的物体的网格给予SceneNode ,SceneNode 包含诸如坐标和方向等信息。

3 SceneNode 基础

  在上面已经提到,SceneNode 用于保持对所有与它联系的物体的坐标和方向进行跟踪。当你建立一个网格,他并不会在场景中进行渲染,除非你将这个网格赋予SceneNode 。相似的,SceneNode 不是你要在屏幕上显示的物体,只有当你建立一个SceneNode,并将一个网格赋予他,他才会在屏幕上显示一个物体。

  SceneNode 能将许多的物体赋予他。例如,你在屏幕上有一个行走的物体,并且你想产生一个灯光环绕着他。首先,你需要建立一个SceneNode ,然后建立角色的网格,并将他赋予SceneNode 。下一步建立灯光,并将他赋予SceneNode 。SceneNode也允许你将他赋予其他SceneNode,这样就建立了一个有等级的节点系统。在下一篇文章中,我们将更详细的讲解SceneNode的功能。

  一个重要的概念是,SceneNode的位置总是和他的父SceneNode有关,并且SceneManager包含所有被赋值的SceneNodes的根节点。


二、FrameListener, WindowEventListener, OIS::MultiTouchListener, OIS::KeyListener


1、FrameListener  渲染事件:

/** A interface class defining a listener which can be used to receive
        notifications of frame events.
        @remarks
            A 'listener' is an interface designed
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值