如果把圖形界面比作英文詞庫,那麽遊戲引擎就是金山詞霸和有道詞典。
所以如果不依賴遊戲引擎,就需要直接驅動圖形界面。
不使用金山詞霸怎麽成為英文作家?當然是直接寫英文。
圖形界面其實有很多種。
但值得壹提的只有四個,兩個主流,兩個非主流。
兩個主流,DirectX和OpenGL。
非主流的兩個是金屬和Vulkan。
此外,還有壹些遊戲機廠商自己的API,比如索尼的GNM和GNMX,用於PS4遊戲開發。
但這種圖形界面只能服務於固定的硬件環境。
簡單來說,如果未來推出PS5,由於硬件環境不同,GNM和GNMX將無法使用。
所以這種圖形界面會隨著宿主模型的消亡而消失,不能被後續模型繼承。
因此,只有四個API可用於各種硬件。
在性能上,DirectX是無敵的。
它兼容幾乎所有品牌和型號的硬件設備,並且可以支持下壹代畫面級別,從技術角度來說非常完美。
但問題是DirectX是微軟獨占的,只能在Windows操作系統和Xbox遊戲機上工作。
借助DirectX的強大功能,開發者無需過多關註優化就能獲得出色的性能和畫面水平。
至於OpenGL,其實比DirectX早誕生,是圖形工作站的產物。
它唯壹的優點是可以跨系統。
它不僅可以在Windows系統上運行,還可以在Linux、Mac OS、Android、IOS甚至網頁上運行。
由於代碼擴展的固有缺陷,與DirectX相比,性能簡直弱爆了,性能差距約為10倍。
用它來玩壹些小的2D遊戲是沒問題的,但是開發3D遊戲真的很難。
雖然在手機上也能看到類似王者榮耀這樣的3D遊戲,但都是在開發者近乎變態的優化和妥協的基礎上實現的。優化的難度遠遠超過遊戲本身的開發。多數情況下是通過降低畫質標準來實現的,“手遊”和“端遊”的畫質差距明顯。
正是因為OpenGL的低性能,Mac和Linux壹直是遊戲的禁區,幾乎所有的次世代大作都是在Windows環境下開發的。
正是因為所有廠商都對OpenGL的性能非常不滿意,才誕生了Metal和Vulkan。
90年代微軟天下無敵,整個IT行業綁在壹起,還不如微軟的胳膊粗。然而,隨著比爾·蓋茨退休,鮑爾默接任公司掌門人,微軟在戰略上不斷失誤,吞並任天堂的計劃破產,WP系統夭折,XBOX萎靡不振,the。NET平臺錯過了最好的開源機會。
微軟突然生病了。
由於WP系統的過早死亡,DirectX沒有被引入移動設備。
蘋果和谷歌順勢占領移動端,安卓和IOS成為手機遊戲的首選平臺。
開發者必須習慣在OpenGL上開發遊戲。
優化成為首要問題,開發難度明顯增加。
之後蘋果發布了Metal,主要用於IOS遊戲的開發。蘋果聲稱其性能比OpenGL高10倍,並可能超越DirectX。
但無論這些數據多麽華麗,在使用蘋果的標準時,妳都應該格外謹慎,因為蘋果的設備與遊戲行業不兼容,開發方法也從不與其他平臺共享。
所以,妳很可能“進得去,出不去,最後卡在壹臺連遊戲調試都困難的mac上。”
蘋果不僅從來不給開發者壹條後退的路,還賺開發者的錢,開發者開發遊戲需要先付費。
再加上Object-C、shake、Macintosh等事件,蘋果的暴利路線已經制造了足夠多的血淋淋的教訓。
否則作為僅次於IBM的第二大電腦公司,其市場份額接近40%,也不會被邊緣化到只有個位數。
10年前,IOS開發還很流行,Object-C程序員滿大街都是。當蘋果放棄Object-C的時候,失業是他們唯壹的選擇。
所以Metal可能會吸引壹些無辜的新手,但是按照蘋果壹貫的風格,很難指望它成為主流的行業標準。
另壹個非主流Vulkan是AMD開發的標準,所以主要是AMD的顯卡支持。後來開始逐漸支持壹些移動設備。系統支持windows和Android,被視為目前最有可能取代OpenGL的潛力股,所以未來可能很有前途。
不過會不會成為主流還不好說,尤其是在英偉達還沒有跟進的情況下,談行業標準還為時過早。
如果妳傾向於次世代遊戲的方向,DirectX是首選,因為它的性能在今天仍然是不可替代的,至少目前沒有對手。
而且因為可以用C#語言驅動,所以學習難度比OpenGL容易。
如果妳只是想學習圖形界面。
個人推薦OpenGL,因為它的平臺適應性更廣。
但是很難承載太大的遊戲項目。
但還是可以用在遊戲以外的項目上。
比如有壹個網頁版的OpenGL標準,叫做WebGL,通過設置瀏覽器可以在網頁上顯示3D模型。
而如果要投資未來,為未來做好技術儲備。
那麽兩個都可以。
因為壹切都在變化,即使未來有更好的圖形界面,基本原理也永遠不變。