OGRE学习疑问(持续更新)

1. 缓冲(buffered)输入方式和非缓冲(unbuffered)输入有什么区别?
   unbuffered:不断的响应按键信息,直到按键放开。例如,按下上下左右,使得角色持续移动。
               一般来讲适合于3D场景漫游过程,当在每帧渲染之前,系统捕获输入设备状态,并根据这些状态对场景中的物体和摄象机进行控制。
   buffered:在一个按键放开之前,只处理一次输入信息。
             例如呼出主菜单。适合于GUI界面的情况(如设置菜单),输入设备状态可以被发送到各GUI元素进行处理(如按钮被按下)。

2. 为什么一般使用OGRE的源代码版?
   官方提供的预编译的SDK版中只有Release的,而且只能在Intel架构下运行,且程序的打包以及Ogre初始菜单都会被省略掉或者简单地处理。(摘自我们班的一苹果达人的blog)

3. frameEnded一般可以怎么用?
   当一帧刚被渲染完毕后,这个函数可以作一些窗口的更新,例如文本或界面图片的更新。

4. 为什么要手动创建窗口,然后交给OGRE来渲染它,而不委托OGRE自己创建并维护窗口?
   OGRE是跨平台的引擎,它对于不同的平台封装了不同的操作,但无法顾全每个具体平台、和开发人员需要的特定平台的系统信息――因为使用OGRE封装好的操作,虽然很方便不用开发人员去关心操作的处理,但是这也给了开发人员限制,不能根据自己的需要得到具体平台的系统信息。
   所以OGRE提供了两种创建窗口的方法:一种是委托OGRE自己来创建和维护窗口,这样只能使用OGRE封装好的操作;另一种就是手动创建窗口,然后交给OGRE来渲染它――这样,开发人员就要手动的维护自己创建的窗口,虽然比较麻烦,但可以自由的控制窗口,得到任何窗口信息、消息。

5. 为什么要引入“Viewport”的概念
   因为有些情况下需要在一个渲染窗口里面独立更新一个小的区域,例如:多人对战或合作时候的分屏、多个监视屏幕、画中画等。

6. 游戏引擎和3DAPI之间是什么关系?
   其实3DAPI就是对应一个种类的显卡的应用程序接口,是夹在编程人员和硬件驱动程序之间,让编程人员调用相应的API,就能调用显卡3D芯片的各种强大功能,而无需编程人员直接跟硬件打交道。
   游戏引擎如果支持多种3DAPI,就使得用这个引擎开发的游戏能在多种显卡环境下使用。

你可能感兴趣的:(职场,休闲,OGRE,疑问)