當前位置:遊戲中心平台 - 遊戲盒子 - opengl和d3d選哪個更好?

opengl和d3d選哪個更好?

各有各的優勢,做遊戲現在D3D的較多,其他圖形工業圖形處理,虛擬現實用openGL的多點,還有用OSG的

OpenGL的發展歷程:

OpenGL的前身是SGI公司為其圖形工作站開發的IRIS GL。IRIS GL是壹個工業標準的3D圖形軟件接口,功能雖強大但其移植性不好,於是SGI公司在IRIS GL的基礎上開發了OpenGL。OpenGL的英文全稱是“Open Graphics Library”,顧名思義,OpenGL是“開放性圖形程序接口”。

1992年7月,SGI公司發布了OpenGL的1.0版本,隨後又與微軟公司***同開發了Windows NT版本的OpenGL,從而使壹些原來必須在高檔圖形工作站上運行的大型3D圖形處理軟件也可以在微機上運用。

1995年OpenGL的1.1版本面市,該版本較1.0性能提高許多,並加入了壹些新的功能。包括提高頂點位置、法線、顏色、色彩指數、紋理坐標、多邊形邊緣標識的傳輸速度,引入了新的紋理特性等等。

1997年,Windows 95下3D遊戲的大量湧現,遊戲開發公司迫切需要壹個功能強大、兼容性好的3D圖形接口,而當時微軟公司自己的3D圖形接口DirectX 3.0功能卻是很糟糕。因而以制作《雷神之錘》等經典3D射擊遊戲而著名的id公司同其它壹些遊戲開發公司壹同強烈要求微軟在Windows 95中加入對OpenGL的支持。微軟公司最終在Windows 95的OSR2版和後來的Windows 版本中加入了對OpenGL的支持。這樣,不但許多支持OpenGL的電腦3D遊戲得到廣泛應用,而且許多在3D圖形設計軟件也可以運用支持OpenGL標準的3D加速卡,大大提高其3D圖形的處理速度。

2003年的7月28日,SGI和ARB公布了OpenGL 1.5。OpenGL 1.5中包括OpenGL ARB的正式擴展規格繪制語言“OpenGL Shading Language”。OpenGL 1.5的新功包括:頂點Buffer Object、Shadow功能、隱蔽查詢、非乘方紋理等。

2004年8月,OpenGL2.0版本發布~OpenGL 2.0標準的主要制訂者並非原來的SGI,而是逐漸在ARB中占據主動地位的3Dlabs。opengl2.0支持OpenGL Shading Language、新的shader擴展特性以及其他多項增強特性。

OpenGL是做什麽用的:

上世紀90年代,OpenGL可謂大名鼎鼎,那時微軟的DirectX剛剛出現,功能遠不能與OpenGL相比,OpenGL實際上是壹種3D程序接口(即我們常說的3D API),這個接口由近二百五十個不同的函數調用組成,用來從簡單的圖元繪制復雜的三維景象。它是3D加速卡硬件和3D圖形應用程序之間壹座非常重要的溝通橋梁。也可以說,OpenGL是壹個功能強大,調用方便的底層3D圖形庫。

OpenGL是個與.硬件無關的軟件接口,可以在不同的平臺如Windows NT、Unix、Linux、MacOS、OS/2之間進行移植。因此,支持OpenGL的軟件具有很好的移植性,可以獲得非常廣泛的應用。

OpenGL特點及功能:

OpenGL是壹個開放的三維圖形軟件包,它獨立於窗口系統和操作系統,以它為基礎開發的應用程序可以十分方便地在各種平臺間移植;OpenGL可以與Visual C++緊密接口,便於實現機械手的有關計算和圖形算法,可保證算法的正確性和可靠性;OpenGL使用簡便,效率高。它具有七大功能:

1.建模:OpenGL圖形庫除了提供基本的點、線、多邊形的繪制函數外,還提供了復雜的三維物體(球、錐、多面體、茶壺等)以及復雜曲線和曲面繪制函數。

2.變換:OpenGL圖形庫的變換包括基本變換和投影變換。基本變換有平移、旋轉、變比鏡像四種變換,投影變換有平行投影(又稱正射投影)和透視投 影兩種變換。其變換方法有利於減少算法的運行時間,提高三維圖形的顯示速度。

3.顏色模式設置:OpenGL顏色模式有兩種,即RGBA模式和顏色索引(Color Index)。

4.光照和材質設置:OpenGL光有輻射光(Emitted Light)、環境光(Ambient Light)、漫反射光(Diffuse Light)和鏡面光(Specular Light)。材質是用光反射率來表示。場景(Scene)中物體最終反映到人眼的顏色是光的紅綠藍分量與材質紅綠藍分量的反射率相乘後形成的顏色。

5:紋理映射(Texture Mapping)。利用OpenGL紋理映射功能可以十分逼真地表達物體表面細節。

6:位圖顯示和圖象增強圖象功能除了基本的拷貝和像素讀寫外,還提供融合(Blending)、反走樣(Antialiasing)和霧(fog)的特殊圖象效果處理。以上三條可使被仿真物更具真實感,增強圖形顯示的效果。

7:雙緩存動畫(Double Buffering)雙緩存即前臺緩存和後臺緩存,簡言之,後臺緩存計算場景、生成畫面,前臺緩存顯示後臺緩存已畫好的畫面。

此外,利用OpenGL還能實現深度暗示(Depth Cue)、運動模糊(Motion Blur)等特殊效果。從而實現了消隱算法。

OpenGL現狀:

近年來,依靠著微軟的研發實力和Windows在操作系統市場的統治地位,DirectX在3D遊戲API上占據了絕對的優勢。而曾經紅極壹時的OpenGL則顯得停滯不前。目前我們熟悉的OpenGL遊戲可能只剩下了id出品的《Quake》和《Doom》系列可以勉強支撐。OpenGL的未來究竟如何?OpenGL仍然是唯壹能夠取代微軟對3D圖形技術的完全控制的API,目前,OpenGL也仍是唯壹的跨平臺3D解決方案,它仍然具有壹定的生命力,遊戲開發人員是壹個有著獨立思想的群體,很多重要的開發人員目前仍然在使用Open GL。因此,硬件開發商正在設法加強對它的支持。

目前,隨著DirectX的不斷發展和完善,OpenGL的優勢逐漸喪失,未來的OpenGL發展前景迷茫。OpenGL與DirectX代表著繪圖世界分裂的兩大門派,這種情況有時會阻礙發展,有時卻又有利於與發展。畢竟有競爭才會有發展。如同處理器市場我們不希望AMD倒掉,也不希望INTEL壹家獨大壹樣~我們都不希望在3D領域中僅僅剩下壹個霸主。希望OpenGL壹路走好。。。。。。

另:2007年8月8日,聖叠戈Siggraph BOF展會上 OpenGL Architecture Review Board(OpenGL架構評估委員會)正式宣布了OpenGL 3。以前被稱之為OpenGL Longs Peak,OpenGL 3則是官方名稱。OpenGL 3規範將在下壹次8月底召開的OpenGL ARB會議上最後定案,由Khronos Group進行為期30天的評估後在9月底正式公開。最新的OpenGL Shading Language也伴隨OpenGL 3公開展示。

d3d

要講Direct3D不能不講DirectX, DirectX是微軟開發並發布的多媒體開發軟件包,其中有壹部分叫做DirectDraw是圖形繪演API,提供對圖形的強大的訪問處理能力,而在DirectDraw中集成了壹些三維圖形相關的功能,叫做Direct3D。

D3D和OPENGL本質雖然壹樣,Direct3D (D3D)是微軟為提高3D 遊戲在Win 95/98中的顯示性能而開發的顯示程序,目前已經升級到9.0版本,而且支持XP等微軟最新的操作系統,它提供了豐富的3D功能庫,是遊戲廣泛采用的標準。

Direct 3D是基於微軟的通用對象模式COM(Common Object Mode)的3D圖形API。它是由微軟(Microsoft)壹手樹立的3D API規範,微軟公司擁有該庫版權,它所有的語法定義包含在微軟提供的程序開發組件的幫助文件、源代碼中。Direct3D是微軟公司DirectX SDK集成開發包中的重要部分,適合多媒體、娛樂、即時3D動畫等廣泛和實用的3D圖形計算。自1996年發布以來,Direct3D以其良好的硬件兼容性和友好的編程方式很快得到了廣泛的認可,現在幾乎所有的具有3D圖形加速的主流顯示卡都對Direct3D提供良好的支持。但它也有缺陷,由於是以COM接口形式提供的,所以較為復雜,穩定性差,所以D3D是壹個十分繁瑣的工具,盡管Microsoft已經盡可能地簡化了,但是為了實現壹個效果,妳還是不得不做許多的工作,其中就包括對各種復雜的結構的賦值;這些賦值很重要,它直接關系到程序的最終效果。另外,目前只在Windows平臺上可用。

  • 上一篇:CF無限挑戰壹階段通關後系統默認選擇什麽階段,後續每次默認選擇什麽,否則總會有人匹配不上?
  • 下一篇:黃子韜加入GK電競,如何看待明星入坑電競圈?
  • copyright 2024遊戲中心平台