DirectX是誰開發的?有什麼過人之處?


補充一點,DirectX有很多組件組成,幾乎所有的東西都已經不發展了,音頻用XAudio代替,輸入用XInput和WM_INPUT代替,視頻播放有Media foundation。只有Direct3D還在繼續活躍發展。而D3D,最早是收購了Rendermorphics公司,把他們的RealityLab 2.0改名成Direct3D,臨時加入DirectX的,作者名字叫Servan Keondjian。

DirectX相比競爭對手的API,一個很大的優勢是嚴格的認證測試。只要是經過測試的硬體,程序不用改,就幾乎都能在不同硬體上跑。相比之下,OpenGL最大的問題就是經常一個卡上跑的很歡,另一個卡上直接藍屏。也正是因為這樣的兼容性,孤立的API,比如Glide,散沙般的API,比如OpenGL,才會消亡或在遊戲領域長期被壓制。

兩個軼事:

1. 沒有DirectX 4.0。直接從3.0b跳到了5.0。因為4.0和5.0一起開發的,而大家覺得有5就用5好了,沒人用4,就乾脆取消4了。(那年頭,居然不是因為大家喜歡5而取消5)(DX 5也是我第一次開始用DX的版本)

2. Direct3D 8的黑歷史。7之後,MS的人和SGI的人談判,要共同出一個合併D3D和OpenGL的圖形API叫Fahrenheit,一勞永逸解決分裂的問題。MS負責底層,SGI負責上層。後來因為D3D已經佔了大部分遊戲市場,再加上OpenGL的精要都已經學到,MS就宣布因為「技術原因」,底層搞不出來。沒底層上層也失去了存在的意義。就這麼黃了。


DirectX是微軟手中的一個王牌,windows體系下不管是操作系統自身還是工具、遊戲、視頻等各種應用程序,都離不開它。顯示、聲音、各種方式的輸入和網路支持,都很強大。

這種多媒體的編程介面,為windows下開發的程序員提供了強大而方便的功能。

具體到人,「directx之父」叫Alex St.John (Alex St. John BioThe Saint),這位前微軟老兵開啟了DirectX技術。

1999年希姆斯·布萊克利(Seamus Blackley)、凱文·巴克斯(Kevin Bachus)、奧拓·貝爾克斯(Otto Berkes)和泰德·長谷(Ted Hase)這四位原Direct X小組成員受命於微軟總裁比爾·蓋茨,組成了微軟遊戲主機Xbox開發小組,將directx帶入遊戲領域。目前已經是window10下的directx12了吧。

之前做視頻識別的時候和DirectX打過一些,用起來還算好用吧。


昨晚深夜腦子一熱就寫的答案,因此出現了很多筆誤,感謝各位的糾正!

1.3DFX的API應該是GLIDE而非GUIDE

2.VOODOO的交火模式名稱為SLI

以下為答案

………………………………………………………………………………………………………………………………………………………………

DirectX最早是與Windows 3.1系統捆綁發布的。

(在這裡需要糾正,本人去維基查了一下,發現我的答案確實存在錯誤:

——1994年末,微軟即將推出新一代操作系統Windows 95。決定新操作系統的最終價值的因素在於究竟新系統能運行哪些程序。微軟的三個員工:Craig Eisler、Alex St. John、Eric Engstrom十分關心這個問題,因為不少遊戲程序員更喜歡在DOS系統下編寫遊戲,這意味著,沒有多少人願意為WIN95編寫遊戲,新操作系統不會獲得多少成功。…………DirectX的第一個版本作為Windows Games SDK發佈於1995年9月,它作為Windows API的一部分用以替換Windows 3.1中的DCI和WinGAPI…………

——摘自維基百科(中文)下的DirectX條目

由此可見,雖然維基百科中提到了win 3.1,但在3.1時DX並沒有發布,DX實際上是與win 95一同發布,如果沒有完整閱讀維基該條目的介紹很容易出錯。也在此感謝知友@pig-10 的指出。)

然而在當年看來大家對這款API的評價很低,甚至說非常落後,對比在3DFX的voodoo獨霸天下時的Glide API可以說是完敗

然而人的命運是不可預見的,做什麼事情都要按照歷史的進程。

之後幾年,英偉達迎頭趕上,推出了首款能與Voodoo競爭的Riva TNT,而此時的3DFX為了推進自家的2D+3D的Glide,同時為了擴張公司規模可謂昏招頻出,走上了自產自銷的不歸路,而之後DirectX 7.0這一跨時代的版本,配合Geforce 256將Voodoo打得生活不能自理,最終3DFX於2000年被英偉達收購,而3DFX最後留給世人的也就只有那個物是人非的SLI和一代人的記憶了

個人觀點:

在DirectX剛推出時,相對於當時的Glide而言並沒有優勢,甚至相比OpenGL而言也沒有優勢。

而真正讓DirectX成為DirectX的,是強大的7.0版本,是英偉達的Geforce 256和其捆綁windows使用的策略。在此也不得不為一代霸主3DFX的沒落表示哀嘆。

——總結自《微型計算機30周年特刊》以及百度百科3DFX條目


這玩意用com寫的,一開始就沒想移植到別的平台。


DirectX是來源於微軟的「曼哈頓計劃」(故意和美國當年研製原子彈的計劃重名),安利個有點跑題的的視頻:http://www.bilibili.com/video/av4814168


推薦閱讀:

你的仙劍記憶是怎樣的?
如何取一個看起來很厲害的遊戲id?
當你下線後,你遊戲裡面的角色會在做什麼?
如何評價《超級馬里奧銀河》?

TAG:遊戲 | 微軟Microsoft | 編程 | 顯卡 | DirectX |