CEGUI基础

CEGUI是一个自由且免费的GUI库,使用C++实现并基于LGPL协议发布。它需要3D图形API如OpenGL或Direct3D的支持进行渲染,并封装了多个图像处理库。CEGUI提供了官方编辑器用于辅助开发,包括布局编辑器和图像集编辑器。

文章中部分内容和思路来自《CEGUI深入解析》

 

简介

1.CEGUI(Crazy Eddie’s GUI http://www.cegui.org.uk)是一个自由免费的GUI库,基于LGPL协议,使用C++实现,完全面向对象设计

2.CEGUI的渲染需要3D图形API的支持,如OpenGL或Direct3D

3.CEGUI封装了FreeImage,SILLY,DevILI,Corona解析库,另外还自己实现了对TGA文件的支持

4.CEGUI提供了许多官方编辑器,其中最重要的就是图像集编辑器和布局编辑器

 

布局编辑器

1.CEGUI无法在含有中文的目录里正确加载各种资源,所以布局编辑器的工作目录必须不包含中文字符

2.CEGUI窗口的布局可以在c++代码里指定,创建一个窗口的时候设置子窗口的位置,属性等信息。也可以在布局文件里指定

 

图像集编辑器

一个图像集代表一张图片,而图像又代表了这章图片上的某个区域。当你要渲染一个CEGUI窗口,你必须找到窗口所要贴的纹理图片。计算出它们的纹理坐标。如果每个小窗口都单独需要一张图片,哪么会有两个问题。第一,显卡处理2的幂尺寸的图片(纹理)时效率最高,所以图片要是2的幂才行。第二,由于第一的限制,每个窗口一张图片必定导致大量的数据浪费。而且显卡在切换纹理的时候,消耗是很大的。哪么CEGUI的解决方案是用一张大的图比如512*512的图,贴上许多小图。每个小图就代表一个CEGUI窗口需要的贴图

 

CEGUI整体架构

70

 

 

 

CEGUI(Crazy Eddie’s GUI http://www.cegui.org.uk)是一个自由免费的GUI库,基于LGPL协议,使用C++实现,完全面向对象设计。CEGUI开发者的目的是希望能够让游戏开发人员从繁琐的GUI实现细节中抽身出来,以便有更多的开发时间可以放在游戏性上。 CEGUI的渲染需要3D图形API的支持,如OpenGL或Direct3D。另外,使用更高级的图形库也是可以的,比如OGRE、Irrlicht和RenderWare等,关键需求可以简化为二点: 纹理(Texture)的支持直接写屏(RHW的顶点格式、正交投影、或者使用shader实现) 本书截止日时,CEGUI的最新版本是0.6.0(本书的讨论也是基于此版本),本书光盘提供了SDK和全部源码的下载。 除此之外,CEGUI还同步提供了官方界面编辑器LayoutEditor和ImageSet编辑器,以方便UI和图像集的制作。作为界面编辑器,它需要系统级界面以提供编辑器操作,0.3.0版是基于MFC实现的;而在0.4.0版本以后,改为基于wxWidgets(跨平台的本地UI框架,这里的UI指Window操作系统底层,如:Windows、Unix和Mac,详见http://www.wxwidgets.org)实现。 目前将CEGUI作为游戏界面库开发的游戏已经有好多种,国内的天龙八部,巨人等游戏就是很好的例子。 CEGUI的功能是非常强大的,而且使用也非常的灵活,可以和脚本配合。可以通过配置文件自定义窗口外观。通过布局文件实现窗口布局等等特性,使得游戏的界面开发更加方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperYang_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值