CEGUI框架简介

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

  CEGUI的渲染需要3D图形API的支持,如OpenGL或Direct3D。另外,使用更高级的图形库也是可以的,比如Ogre,RenderWare等。

     针对于CEGUI,还提供了官方界面编译器LayoutEditor和ImageSet编译器,以方便UI和图像集的制作。作为界面编译器,它需要系统级界面以及提供编译器操作,0.3.0版是基于MFC实现的;而在0.4.0版本以后,改为基于wxWidgets(跨平台的本地UI框架,这里的UI指的是windows操作系统底层,如:windows,Unix和Mac,详见 http://www.wxwidgets.org )实现。

  一般情况下,生成的CEGUI的源代码内容如下图所示:

ImageCodecModules目录: 是CEGUI封装的各种图像解析库。CEGUI封装了CoronaImage,DevILImage,FreeImage,SILLYImage,   TGAImage的解析库。

RenderMoudules 目录: 是CEGUI提供的渲染模块的集合,里面Direct3D9,Direct3D10,Irrlicht,OpenGL和Ogre的支持。

Samples目录:包含了CEGUI提供的所有例子的源代码。

ScriptingMoudules目录: 脚本模块目录,cegui提供了对脚本的支持,它使用了tolua++以及LuaPlus提供了对lua的支持。

WindowRenderSets目录:保存了所有渲染CEGUIBase里窗口的类。

XMLParserMoudules目录: 包含了expatParser,libxmlParser,TinyXMLParser,XercesParser等四种XML解析库的源代码。这四个子模块分别通过四种XML解析库实现了CEGUI需要的XML解析模块。不论使用那一模块都可以。

 

关于CEGUI.sln的分析,如下图:

CEGUIBase: CEGUI的基本库,也是最早的库。

图像解码库:所有工程名带Codec的都想,共有5个工程。分别是CoronaImage,DevILImage,FreeImage,SILLYImage,TGAImage等都是图像解码工程。

渲染库: 有两个,一个是CEGUIDirect3D9Render,另一个是CEGUIOpenGLRender

CEGUIFalagardWRBase: CEGUI的渲染库。

脚本模板库: 有三个,都含有lua,分别是CEGUILuaScriptModule,tolua++,tolua++cegui等。

 

摘抄于:《CEGUI深入解析》

 

posted @ 2015-03-29 23:40  Code~  阅读(2350)  评论(0编辑  收藏  举报