你們多知道左右就確定要與顯卡打交道.兩大圖形圖像IPA.OpenGL(圖形),DX(圖形,聲音,鍵盤控制,網絡)程序員
OpenGL的興起可能取決於蘋果公司的適用,吸引看大部分開發者適用,它有跨平臺的有點.可是在windows和Xbox360上的效果不如DX;windows
做者:村之姑
連接:https://www.zhihu.com/question/23241456/answer/24033635
來源:知乎
著做權歸做者全部,轉載請聯繫做者得到受權。
事實上在早年OpenGL即便在遊戲領域也是對DirectX壓倒性的優點。John Carmack曾嘲諷DirectX是「horribly broken」 的API。
直到DirectX6時代OpenGL都被認爲是比DirectX更加優秀的API,即便那個時候DirectX已經有《CS》《極品飛車5》等大做的支持,卻依然不受當時FPS遊戲霸主id Software的待見。做爲那個時代的顯卡殺手,《Quake III》都僅僅只支持OpenGL。
DirectX7發佈以後DirectX和OpenGL開始逐漸分庭抗禮。直到2000年DirectX8的發佈才使DirectX在遊戲領域徹底確立了本身的優點 —— 支持革命性的programmable GPU rendering pipeline來代替原有的fixed function pipeline,引入了Vertex Shader和Pixel Shader。而OpenGL的核心正式支持programmable rendering pipeline已是四年以後OpenGL 2.0發佈的時候了。想一想這中間會有多少遊戲公司/遊戲引擎公司會倒向DirectX吧。
說到OpenGL衰落的緣由,不得不提到OpenGL開發的機制。OpenGL早期一直是由ARB (
OpenGL Architecture Review Board,成員包括Nvidia, ATI, Intel, Apple, IBM, SGI等等)成員共同維護。每一個成員能夠爲了支持本身硬件新的feature來開發OpenGL enxtension, 全部成員一致經過的extension才能加入到下個版本OpenGL核心中。這就形成了不一樣成員爲了各自利益互相鬥爭,拖慢了開發進度。微軟曾經也是ARB的成員之一,後來由於受不了這種機制退出專心搞本身的DirectX去了。
若是一個API越流行,那麼去學習這個API的人就會越多,遊戲公司會越容易招到掌握這個API的圖形程序員,也就會更多的基於這個API開發遊戲。用這個API的遊戲愈來愈多,就會更多的獲得
硬件廠商的支持,爲面向這個API的驅動作更多的優化,而後這個API就會更加流行。如此進入一個良性循環,這就形成了DirectX如今稱霸遊戲領域,OpenGL幾乎絕跡的局面。
在06年從ARB交由Khronos Group掌管以後, OpenGL最近幾年也迎頭遇上,從性能,易用性來講其實和DirectX已經相差不大。可是在相比DirectX沒有突出優勢的狀況下(除了跨平臺),已經習慣使用DirectX的遊戲廠商也不可能從新投出OpenGL的懷抱。
最後一點,OpenGL只是一個單純的圖形庫,而DirectX是包含圖形(Direct3D), 聲音(DirectSound), 輸入(DirectInput), 網絡(DirectPlay)的一整套遊戲開發解決方案。對開發者來講使用DirectX顯然要方便的多。
總而言之跨平臺用OpenGL,windows遊戲用DX