ORGE之GUI Demo

在以前的笔记中已经对 CEGUI 的使用做了简单的介绍,这里为了完整性还是把它 C & P 一下:
使用 cegui 来制作界面 , 不论在何种平台下 , 有基本的三大步骤要做 :
1, 创建一个 CEGUI::Render 实例
2, 创建 CEGUI::System 对象
3, 调用各种方法来渲染用户界面
第一步 , 在我使用的 ogre 环境下使用以下代码来创建 CEGUI::Render 实例
Ogre3D
CEGUI::OgreCEGUIRenderer* myRenderer =
       new CEGUI::OgreCEGUIRenderer(myRenderWindow);
第二步相当简单 , 可使用 new CEGUI::System(myRenderer);
第三步,基本上来讲,大部分平台下,如 direct3D, OpenGL, 我们在渲染循环的尾部调用 CEGUI::System::renderGUI 来开始界面的渲染。如果我们使用 ogre3d 引擎,这一步不需要 我们显示的执行。 创建 CEGUI 窗口,我们可以使用两种形式,一是 C ++代码,二是编辑 XML layout 文件。
CEGUI 本身侦测用户输入,这些不是 CEGUI 的责任,而是程序的员的责任。当有用户外部输入时,我 们可以选择将这些消息告知 CEGUI ,这样 CEGUI 才会响应。
CEGUI 使用回调机制来进行消息处理。可以为某个窗体的特定事件注册一个函数,当窗体事件发生时, CEGUI 会自动调用所注册的函数。
DEMO 中需要注意的是 Render To Texture 的实现。
先创建在 ogre 中的 RTT:
RenderTexture * rttTex = mRoot->getRenderSystem()->createRenderTexture( "RttTex", 512, 512, TEX_
TYPE_2D , PF_R8G8B8 );
再转换成CEGUI可识别的:
// Retrieve CEGUI texture for the RTT
        CEGUI::Texture* rttTexture = mGUIRenderer->createTexture((CEGUI::utf8*)"RttTex");
根据这个Texture生成了一个ImageSet;
在ImageSet中定义了一个Image(名为RttImage);其大小与上边的Texutre同样大小。
当在窗口中增加一个static Image时,把其image属性设为 ” RttImage ” 即可。

转载于:https://www.cnblogs.com/wanghao111/archive/2009/08/10/1542999.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值