1. 程式人生 > >CEGUI基礎

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整體架構