OpenGL: ? ? ? ? ?
? ? ? ? ? OpenGL是OpenGraphicsLib的縮寫(xiě),是一套三維圖形處理庫(kù),也是該領(lǐng)域的工業(yè)標(biāo)準(zhǔn)。 ? ?
? 計(jì)算機(jī)三維圖形是指將用數(shù)據(jù)描述的三維空間通過(guò)計(jì)算轉(zhuǎn)換成二維圖像并顯示或打印出來(lái)的技術(shù)。 ?
? OpenGL就是支持這種轉(zhuǎn)換的程序庫(kù),它源于SGI公司為其圖形工作站開(kāi)發(fā)的IRIS ? GL,在跨平臺(tái)移植過(guò)程中發(fā)展成為OpenGL。SGI在1992年7月發(fā)布1.0版,后成為工業(yè)標(biāo)準(zhǔn),由成立于1992年的獨(dú)立財(cái)團(tuán)OpenGL ? Architecture ? Review ? Board ? (ARB)控制。SGI等ARB成員以投票方式產(chǎn)生標(biāo)準(zhǔn),并制成規(guī)范文檔(Specification)公布,各軟硬件廠商據(jù)此開(kāi)發(fā)自己系統(tǒng)上的實(shí)現(xiàn)。只有通過(guò)了ARB規(guī)范全部測(cè)試的實(shí)現(xiàn)才能稱(chēng)為OpenGL。1995年12月ARB批準(zhǔn)了1.1版本,最新版規(guī)范是1999.5通過(guò)的1.2.1。 ?
? OpenGL被設(shè)計(jì)成獨(dú)立于硬件,獨(dú)立于窗口系統(tǒng)的,在運(yùn)行各種操作系統(tǒng)的各種計(jì)算機(jī)上都可用,并能在網(wǎng)絡(luò)環(huán)境下以客戶/服務(wù)器模式工作,是專(zhuān)業(yè)圖形處理、科學(xué)計(jì)算等高端應(yīng)用領(lǐng)域的標(biāo)準(zhǔn)圖形庫(kù)。主要競(jìng)爭(zhēng)對(duì)手是MS-Direct3D. ?
? 微軟在Windows ? NT對(duì)OpenGL的支持始于3.51,在Windows9x中的支持始于Win95 ? OEM ? Service ? Release ? 2。Windows下常用的OpenGL庫(kù)有兩種,MS實(shí)現(xiàn)的和SGI實(shí)現(xiàn)的,MS-OpenGL調(diào)用會(huì)自動(dòng)檢測(cè)是否存在顯示卡制造商提供的ICD(Installable ? Client ? DeviceDriver)驅(qū)動(dòng)程序,有則調(diào)用ICD中的例程,否則才用CPU進(jìn)行計(jì)算,所以能利用顯示卡的OpenGL加速能力。對(duì)開(kāi)發(fā)者來(lái)說(shuō)使用方法并沒(méi)有區(qū)別,只是有ICD驅(qū)動(dòng)時(shí)更快些。SGI的版本是純軟件實(shí)現(xiàn)不能利用硬件加速并且SGI已經(jīng)在1999年宣布停止支持,但這套庫(kù)便于調(diào)試程序,仍有不少開(kāi)發(fā)者使用。 ?
? SGI曾經(jīng)宣布研發(fā)OpenGL++,該圖形庫(kù)最大的特點(diǎn)是面象對(duì)象,提供了樹(shù)形場(chǎng)景支持。后來(lái)(1999)SGI宣布與M$合作開(kāi)發(fā)Ferihant,即Windows的下一代圖形處理體系,包括DirectX與OpenGL的低級(jí)圖形處理接口和以場(chǎng)景圖支持為特點(diǎn)的高級(jí)接口,并且就此停止對(duì)其在Windows下的OpenGL實(shí)現(xiàn)的支持以示決心。此舉世矚目,大家都以為Windows圖形處理快要過(guò)上幸福生活了,然而,不久,SGI宣布中止合作,并撤回派出的科學(xué)家,F(xiàn)erihant基本上夭折。SGI ? 稱(chēng)終止合作的原因是M$不肯積極合作,光想把SGI ? 的技術(shù)合并進(jìn)DirectX,真正內(nèi)幕不詳。不過(guò)以SGI在圖形處理界的老大地位來(lái)說(shuō),還是有幾分可信度的,因?yàn)镸$初支持OpenGL就不積極。 ?
? 雖然早在WinNT3.51 ? 時(shí)代M$就已經(jīng)實(shí)現(xiàn)了它的OpenGL ? 版本,但不肯隨其Windows95 ? 提供,稱(chēng)該API ? 適合高端應(yīng)用,而Win95面向一般消費(fèi)者的用不到,并且在其win3.x下開(kāi)發(fā)的wing ? 圖表庫(kù)的基礎(chǔ)上搞出了GameSDK,即后來(lái)的DirectX ? 庫(kù),稱(chēng)這套庫(kù)是專(zhuān)門(mén)為高性能游戲開(kāi)發(fā)設(shè)計(jì)的,在當(dāng)時(shí)的硬件條件下,這無(wú)疑是非常有道理的,并且很快成為Windows環(huán)境下游戲開(kāi)發(fā)的標(biāo)準(zhǔn)API ? 。該庫(kù)實(shí)質(zhì)上是提供了繞過(guò)Windows ? 直接訪問(wèn)顯存的途徑,從而很好的解決了GDI ? 體系性能方面的不足,但由于是以COM接口形式提供的,所以相當(dāng)復(fù)雜,而穩(wěn)定性也不是很好,所以有人稱(chēng)Direct3D ? 是為追求速度而不擇手段的公司才用的。然而也就在這個(gè)時(shí)期,三維圖形加速卡開(kāi)始走向商用和家用,另外這時(shí)實(shí)時(shí)三維游戲開(kāi)始流行,紅極一時(shí)ID ? Software ? 的開(kāi)始鑄輝煌,推出了Doom ? 、Quake ? ,相信這兩個(gè)名字在今天的游戲圈子里應(yīng)該是無(wú)人不知無(wú)不曉吧???
posted on 2006-05-14 12:49
太極虎~宏 閱讀(853)
評(píng)論(0) 編輯 收藏 引用