DirectX、Direct3D、OpenGL的區別(DX、D3D、OpenGL)

翻譯自:https://www.extremetech.com/computing/54604-top-tip-what-are-opengl-direct3d-directx-etc

 

首先一點澄清:DX包含D3D,D3D是DX的主要圖形處理部分,OpenGl從某方面來說是一個API。

一個遊戲開發者,或者任何圖形學程序員,都能選擇是否去使用DX或者OpenGl的API。如果他們想要能完全控制內部實現,可以自己編寫需要的模塊來使用。

在補丁v226f之後的最終版本,虛幻遊戲允許你的遊戲來選擇自己的API,一些API已經過時或者集成到DX或OpenGl中。

 

#1 DirectX(包含Direct3D) 和 OpenGl 都是 API

API = Application Program Interface  應用程序編程接口

API允許開發者(遊戲開發者或者視頻CAD開發者等)使用預定義的函數調用讓開發遊戲或者使用CAD更方便。DX和OpenGL定義了多種方式去渲染圖片,而且他們提供了中間層去控制硬件和軟件,(譯者注:某著名學者說過,任何計算機的問題都可以通過添加中間層的方式解決)。這些預定義的控制層簡化了視頻軟件開發如遊戲。

當使用特定功能的API時,開發者會在開發寫代碼的時候會更簡單快捷,否則開發者必須自己去寫所有的圖形渲染。

#2 默認情況下,Win95以上的Windows系統在某種程度上已經包含了所有早期版本的API

所以他們不必去安裝早期的版本,不過需要實時更新。

#3下面是我們一定要知道的DX和OpenGL的差異

OpenGl單純是一個圖形渲染API,所以它只能處理圖像

DirectX包含圖形(Direct3D)、聲音甚至網絡API,他們全都在一個package裏

#4 DX和OpenGl的背景

D3D(現在包含在DX)是由微軟發明用來對抗OpenGL的,微軟發明的D3D會更簡單,微軟希望D3D未來會比OpenGL更強大,並取代他。(譯者注:D3D的API源碼真的比OpenGL的簡潔太多)

OpenGL是SGI公司在1980年發明的一門語言,開始SGI公司只是內部使用其強大的圖形渲染能力,慢慢的,他們意識到如果想讓其成爲行業標準,必須開源允許其他公司來一起定義規範。

 

通過上面幾條,你應該大致瞭解了這幾個的區別

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章