Gamebryo—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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值