Gamebryo3.0SDK翻译-NiApplication

NiApplication

NiApplication是针对Gamebryo示例创建的跨平台框架。它的主要功能有—创建窗口、创建渲染器、创建输入系统以及提供命令行(command line)的访问接口。

一、基本知识

1. 基本物体的创建

Scene

NiNodePtr m_spCene:指向场景的根。

Virtual bool CreateScene:分配一个Node给m_spScene

Camera

NiCamraPtr m_spCamera

Virtual bool CreateCamra:创建NiCamera

Renderer

NiRendererPtr m_spRenderer:

Virtual bool CreateRenderer:

Render Frame

NiRenderFramePtr m_spFrame

Virtual bool CreateFrame():当帧渲染系统开启时(bUserFrameSystem),首先创建一个Ni3DRenderView去处理m_spScene、m_spCamera、m_spCuller、NiCullingProcess。同样创建一个NiAccumulatorProcessor以及一个主render click。

2. 使用Input

NiApplication使用NiInputSystem作为输入系统。

Virtual void UpdateInput():更新输入设备的状态

Virtual void ProcessInput():相应用户消息。

用户获取输入即调用NiApplication::GetInputSystem

WinMain

3. 帧渲染系统

可以通过设置m_bUseFrameSystem来决定是否使用帧渲染系统

4. VisualTrackers

主要使用用来跟踪程序的运行状态如,帧、时间、内存消耗。

5. 重载方法

Initialize、Terminate、OnIdle

6. Turret

NiTurret代表一个优化过的摄像机控制

二、winmain

1. 命令行参数

2. 命令行参数实例

3. 创建应用程序对象

4. 事件循环处理

5. 渲染器设置对话框

6. 使用渲染器设置对话框

7. 通过命令行来优化渲染器

8. 通过INI Line来优化渲染器

9. 窗口的创建

10. 状态条支持

NiSample

对NiApplication进行了扩展:UI、shader

一、 NiSample使用说明

二、 Singals和Slots

使用消息来作为UI和程序逻辑交互的媒介

三、 创建UI元素

四、 创建导航控制

五、 创建Shader系统

NiSample使用了两个库来使用shader system

clip_image002

posted on 2011-02-27 14:18  arun  阅读(483)  评论(0编辑  收藏  举报

导航