OpenGL(Open Graphics Library)是一個(gè)2D和3D的開(kāi)放式圖形標(biāo)準(zhǔn),前身是SGI公司的IRIS GL,Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采用了OpenGL做為三維圖形標(biāo)準(zhǔn)。而作為移動(dòng)3D圖形行業(yè)標(biāo)準(zhǔn)的OpenGL ES的出現(xiàn),避免了手機(jī)制造商由于互不兼容的游戲軟件格式而導(dǎo)致無(wú)謂的市場(chǎng)競(jìng)爭(zhēng)。

OpenGL ES源自PC市場(chǎng),是一個(gè)從OpenGL淬取出來(lái)的低容量的先進(jìn)繪圖用API,能夠運(yùn)用OpenGL的資源。。在應(yīng)用軟件與軟硬件之間,它提供了底層應(yīng)用的可用程序化接口(API)。這是3D針對(duì)嵌入式系統(tǒng)所制定的繪圖API,能夠進(jìn)行3D繪圖與3D游戲的實(shí)現(xiàn),在不同的行動(dòng)裝置或是嵌人式系統(tǒng)間應(yīng)用非常便利。因此,Open GL-ES已經(jīng)獲得了廣泛的行業(yè)支持,不僅得到了手機(jī)制造商及器件與內(nèi)核提供商的支持,同時(shí)也獲得了圖形引擎、游戲開(kāi)發(fā)商以及操作系統(tǒng)供應(yīng)商的支持。

OpenGL ES包括floating-point和fixed-point兩個(gè)profiles。OpenGL ES也包含了平臺(tái)接口層的規(guī)范,稱(chēng)為EGL。這層接口和平臺(tái)間是獨(dú)立的,廠商可以選擇是否將他放入自己的產(chǎn)品里。整合平臺(tái)當(dāng)然也包含了一致性的測(cè)試,廠商也可以定義自己的平臺(tái)接口層。EGL接口實(shí)現(xiàn)了和native窗口系統(tǒng)的綁定。

在BREW中,通過(guò)OpenGL ES的擴(kuò)展類(lèi)提供了對(duì)OpenGL ES的良好支持,包含了三個(gè)部分:IEGL接口,IGL接口和數(shù)據(jù)類(lèi)型。IEGL接口提供了從應(yīng)用訪問(wèn)EGL實(shí)現(xiàn),打包了標(biāo)準(zhǔn)EGL函數(shù),同時(shí)也提供了函數(shù)接口。IGL接口提供了從應(yīng)用訪問(wèn)OpenGL ES實(shí)現(xiàn)。從所需要的文件來(lái)說(shuō),還需要一個(gè)OpenGL ES擴(kuò)展工具包。在這個(gè)工具包中,給用戶提供了可用來(lái)顯示3D的設(shè)備文件,3D程序運(yùn)行相關(guān)的頭文件,以及OPENGL ES擴(kuò)展的動(dòng)態(tài)鏈接庫(kù)。

??