CEGUI - 游戏GUI库


LGPL
跨平台
C/C++

软件简介

CEGUI(Crazy Eddie’s
GUI)是一个自由免费的GUI库,基于LGPL协议,使用C++实现,完全面向对象设计。CEGUI开发者的目的是希望能够让游戏开发人员从繁琐的GUI实现细节中抽身出来,以便有更多的开发时间可以放在游戏性上。

CEGUI的渲染需要3D图形API的支持,如OpenGL或Direct3D。另外,使用更高级的图形库也是可以的,像是OGRE、Irrlicht和RenderWare,关键需求可以简化为二点:

1. 纹理(Texture)的支持
2. 直接写屏(RHW的顶点格式、正交投影、或者使用shader实现)

实例代码

// Start the scene  
myD3DDevice->BeginScene();

// clear display  
myD3DDevice->Clear(0, 0, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);

// user function to draw 3D scene  
draw3DScene();

// draw GUI  
 **CEGUI::System::getSingleton().renderGUI();**

 // end the scene  
myD3DDevice->EndScene();

// finally present the frame.  
myD3DDevice->Present(0, 0, 0, 0);