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