有什麼遊戲推動了計算機圖形學的發展?
有何遊戲公司的遊戲和遊戲引擎的技術可以在遊戲界甚至是學術界都擁有領先水平。這些技術的出現產生了什麼影響
其他幾個大家都提過了,我也不再重複。提一個最近剛出現但有劃時代意義的。
SIGGRAPH 2016上有篇paper,三個作者分別來自Unity,Ubisoft和Ready At Dawn。
Eric Heitz"s Research Page on WordPress.com這篇論文提出了一個新的球面參數化方法叫Linearly Transformed Cosines(LTC)。用它來表達BRDF,原本多邊形面光源的積分就變成參數空間的積分加上逆LTC。基本上一步就解決了實時渲染中的任意麵光源這個老大難問題。
不但如此,這個方法開銷還很低,WebGL這樣的都能跑,離線對BRDF進行fit後,runtime用一個shader搞定。我一陣子我會寫一篇解析的專欄文章。
作者的網站有paper,有代碼,有demo。有興趣的可以去看。Doom肯定要提
單以引擎論的話,自然Unreal、Crytek這兩個是必須要說的。這個是當前市面上佔有率(Unreal)和技術水準(Crytek)的代表
其他一些第二梯隊的,比如Frosbite,id tech(其實id tech也算是第一梯隊的,但是如今影響力已經大不如前面三個了)稍微關注一下Siggraph的話就可以發現很多技術其實並非誰獨佔的,而是大家不斷在改進
以AA為例,PS4的遊戲《殺戮地帶》的開發組就曾經發表過一篇關於時域採樣抗鋸齒新技術的論文而育碧的《極地戰壕4》(Far cry港台譯名)也於今年的會議中發表過一片HRAA的論文,叫做混合重構抗鋸齒
當然,NV本身也有大量的技術,不過NV的技術主要都獨佔在自己的顯卡上,比如今年GTX9系列的新的間隔幀採樣抗鋸齒,超分辨下採樣,還有一種新的全局光照方法。。。
對玩家而言,可能最常聽見的也就是某某引擎,再了解的多點的,可能知道某某AA,GI,基於物理的著色器(physically-based shading)。但是再深入一些的具體的東西,這就只有專業領域裡的人去研究了,對於絕大多數玩家,既沒有這個能力,也沒有這個心思
但實際上,這些引擎僅僅只是作為一個打包方案,裡面很多模塊,在具體的人的使用過程中全都是需要重新編寫的。於是每年都會有層出不窮的新的工作,這其中的一些工作研究的問題針對性也極強,比如今年sig CDPR發的一個論文,只研究關於視角與緩衝區域選擇的問題的,還有Rocksteady之前發過的一個,研究gameplay裡面snow物理效果的。還有《看門狗》的製作組好像以前也發過一篇如何實現building窗戶視角相關窗外顯示的工作
再本質一些的技術,比如全局光照、基於物理的shading、細分曲面。。。這些東西,單純開發遊戲的人就無能為力了,這些只有等著引擎商的更新
隨著計算技術的提升,以前很多軟體上有idea但是硬體無法實現的功能,現在也能實現了。
所以現在很多遊戲在畫面上才有了質的飛躍。
最簡單的也就下面幾個方面吧1)模型精度的提高2)光照模塊的改進3)shader技術的提高
4)顯存增大,使得貼圖以及可緩存assets增多=====
實際遊戲,從畫面角度上說,永遠都是落後於同時期CGI的。而也由於實時性的要求,倒是CGI里的很多方法無法用於同時期的real-time。但是對於遊戲而言,其實是可以借鑒CGI的。不少遊戲公司的一些美工,其實之前本身就是電影行業里工作的。這裡面很多東西都是相通的最後說個題外話,工業光魔ILM在CGI技術上實力極其強大,甚至行業里的一些標準也是他們創立的,他們的員工也都是超牛的,其中兩個員工業餘時間開發出了photoshop
國外這些牛人太多了,而且也成了良性循環,這和國內的抄來抄去有根本的區別個人觀點, 非常淺薄. 完全是以我能記得起來的以及影響過我的技術點為主要依據.
順便吐個槽: 遊戲公司/遊戲開發人員去推動計算機圖形學發展的故事和案例並不是特別的多, 反而是反過來, 常能看到圖形學研究領域在 Siggraph 上放的論文去推動遊戲技術發展的例子比較多.
我能記得起的幾個時間點大致如下:
id-software 的卡馬克為 3D 遊戲推進做的了非常多得貢獻, 這其中包括閱讀 BSP 演算法文獻, 並引入圖形渲染中. 後期還引入多紋理材質渲染, 以及實現 Shadow Volume 演算法. 同期的 Epic Games 了解甚少, 但兩家在圖形領域競爭激烈. 記憶中, Tim Sweeney 堅持用預烘焙的 Shadow Map 來做陰影讓場景效果更好, 而卡神則是實時陰影的死忠. 兩家為此在陰影演算法上前後爭論了好幾年. 當然這些都是沒有特別記載, 只能通過當年有限的媒體資源復現, 我不能確定這段時間他們兩家的技術競爭點.
這之後一段時間, 微軟的 DX 技術欲有一統江湖的趨勢, 然後整個計算機遊戲界在圖形方面真就沒太大動靜. 到了 PS2 中後期, 大概是 Shader Language 開始在 PC 遊戲中流行之時, HDR 和 Bloom 等 Post Processing 技術被引入. 我覺得這個時期, 推動圖形技術發展的主要還是硬體廠商, Sony, M$, nVidia, ATI. 之後就是我們熟悉的"大便黃"時代, 各家遊戲都用 HDR, 也不管好不好看, 反正就用它, 出來的效果是屎黃屎黃的. 同期有個遊戲叫做 "半條命2" 不是因為圖形技術, 而是因為他的物理引擎推動了整個行業的硬體升級, 從而帶動圖形渲染的進一步發展.
隨著 Shader Model 2.0 - 3.0 的到來, 各家遊戲公司開始在實時渲染領域展開激烈鬥爭. 這個時期, 我能記起的技術更新不是太多, 各類 AA 算不算呢? MSAA, CSAA, .... 以及各類 Shadow Map 的 lerp, blur 算不算呢? 這期間我覺得比較重要的一個里程碑是 Ambient Occlusion 和 Hemisphere 演算法在實時渲染中的應用. 這是第一次, 我感覺光影效果的提升從 Diffuse 光照模型往其他方向拓展. 至於哪家公司先提出的, 我能說是微軟亞研么?
這段時間, 倒是 Halo2 在 GDC 的一篇關於分層狀態機的討論比較搶眼: Gamasutra - GDC 2005 Proceeding: Handling Complexity in the Halo 2 AI, 他開拓了 AI 編寫的新時代, 並且也是後來行為樹派系分支的轉折點. 但這不是圖形學領域的推動, 屬於題外話了.
大概 09 - 11 年左右, Sony, D.I.C.E 發表了幾篇有重要意義的 gdc 文章, 這其中包括了 deferred lighting:- http://dice.se/wp-content/uploads/GDC11_DX11inBF3_Public.pdf
- http://research.scee.net/files/presentations/gcapaustralia09/Pitfalls_of_Object_Oriented_Programming_GCAP_09.pdf
- http://dice.se/wp-content/uploads/Introduction_to_Data-Oriented_Design.pdf
DOP 使得人們在圖形編程的時候, 又重新思考起 cache miss 的問題, 並且從數據排列角度去分析, 跳出了人們爭論已久的代碼設計, 可讀性等傳統思維範疇, 可以說為圖形編程颳起了一陣新風.
再往後, 圖形學已經成百花齊放的姿態了. 就很難說誰引領誰, 各家都有高手. 那之後我也將心思轉移到研究"圖文排版"這種我都不知道哪裡去找文獻的技術, 就沒有深入跟進下去. 只能看看每年的 paper title 所以就不繼續評論了.
後記:
你看在 2012 年以前, 推動圖形學發展的多半是硬體廠商, 遊戲開發的圖形學技術在很長一段時間都是在跟硬體做鬥爭, 演算法上也都是以如何適配硬體為主. 這段期間的大神如卡馬克就是屬於這種類型的人才. 卡馬克在 tech5 引擎中搞了 mega-texture 以後, 也算是最近的一次提出的對硬體的優化編程的觀點, 之後他就去玩更硬派的 Occlus Rift了.
隨著卡神淡出, Directx 11 問世為時間點來看, 本世代才是以演算法為主的渲染技術真正開始推動技術發展的時代. 我相信, 未來幾年的圖形技術, 會慢慢從硬體優化轉移到數學建模中.
個人妄議一下卡神, 卡神我個人覺得還是屬於硬體編程的超段位高手, 但他非科班出身, 所以在早期圖形技術靠硬體支撐的年代可以大殺四方. 但是如今, 以演算法, 數學模擬, 物理模擬為手段的圖形繪製開始興盛的時期, 卡神再強也敵不過一個訓練有素的科班團隊, 所以術業有專攻, 不必把卡神捧到神壇的高位而不願放下, 應該分時期來看. 他對整個計算機3D實時渲染做出的推進和貢獻有目共睹, 而接下來的神人我想應該是各位看客您了.Doom啟示錄,卡馬克領跑世界,帥O(o
簡單的說就是需求驅動,更赤裸的說是利益驅動。
技術的發展源於需求,需求的來源是利益,所以簡單的說是利益驅動,也就是利益驅動需求。當然有利益,又對技術做出貢獻,這是雙贏,絕好的事情,這裡不談。圖形渲染市場目前主要應用是三個:
1. 遊戲:不細說。2. 行業軟體:建模、CAD等。
行業軟體對圖形渲染的應用有兩塊,一塊是實時渲染,主要是瀏覽和編輯。還一塊兒是出效果圖,基本是基於Ray Tracing的GI方案。3. 影視行業:基本是基於Ray Tracing的渲染器。這三塊直接的消費級應用就是遊戲,是比較大的一塊市場,要想研究有成果當然要在大市場裡面做。做的人多,研究成果自然多。
但是,遊戲只是推動圖形學在一些方面的發展,而且是一個窄的方面,首先我們看三者對技術的要求是不同的:
1. 遊戲:實時渲染,在效率允許的情況下。要求是「好看」,可以不是那麼的」物理真實」,也就是我們常說的欺騙視覺。2. 行業軟體中的實時渲染部分:拋開「快速光線跟蹤」這種不談,大體還是要求效率優先,特別是大數據顯示,一棟樓幾百萬個幾何體是常有的。在現實效果方面,追求的是盡量「物理真實」。3. 效果圖與影視行業的要求,只談渲染部分,就是「物理真實」。」物理真實「在現階段的發展已經進入到瓶頸期,上一個決定性意義的技術成果是Rendering Equation的提出,之後大部分的研究是集中在如何求解Rendering Equation及Material或者說BSDF的模擬。而目前所有的Rendering Equation的求解辦法幾乎都不適用於基於光柵化的圖形管線,或者說沒有實際可用的方案。主要原因在於實時管線的結構無法做數值求解的運算。
同時,遊戲技術比較容易出成果,特別是在前10年圖形管線相對變化較小,而在「物理真實」領域又很難出新的革新性方案的時候,把很多早期的論文或者說方法,在硬體管線上實現,顯然是個低成本取得高收益的方式,比如前面有朋友說過的HDR等PostEffect。
那麼大量的針對遊戲的渲染演算法,其實是在簡化計算模型,或者在優化效率,而不是真正的帶動圖形學的本質前進。如果我們將圖形學的目標定義為「更快」、「更真實」的話,那麼遊戲只是在向更快的方向努力,對於更真實是採用妥協態度。舉兩個例子:
1. 光柵化演算法本身就是一種對效率的妥協方案。2. SSAO等演算法的提出,其實是對光柵化演算法的妥協,而做出的假GI。當然,我只是總結了我理解的現狀,並不是說遊戲阻礙技術發展,卡馬克等大神做出的技術努力意義非凡,極大的提高了遊戲的視覺體驗。但也要看到,遊戲更多的是推動了硬體管線的發展,也就是硬體管線對已有技術成果的應用。
所以,總結來說,是需求驅動。……後有孤單危機1(又名顯卡危機),07年的遊戲,畫面放到現在也是相對牛逼,當時更是沒有幾部機器可以全開效果,也是它讓我成了cryTek的粉。然後發現粉得很艱難,他家遊戲老是這麼燒顯卡,硬體都更新不過來……
約翰·卡馬克的《重返德軍總部3d》以及初代《quake》.接下來就是《孤島危機》了。當然頑皮狗的《神秘海域》也能算進去,畢竟背後的圖形研究小組ice team大大發掘了opengl的潛力
感覺之前雷神之錘影響蠻大的
太古董的不說了。
孤島危機1: light prepass + IBL + 部分 PBR --&> 吊打 UE3
勿忘我:全套 PBR 初步實踐
新版 frostbite:全套 PBR 理論化標準化
id-tech5:mega texture,太超前了,DX9 和 DX11 初期就算實現了渲染效率以及製作效率都不行。現在 DX12 普及了,各種基於 bindless resource 的 deferred material / deferred + / deferred texturing 渲染技術出現,都是在 mega texture 基礎上的。Deferred shading是我個人感覺近五年來被實用的技術中最有價值的當年DS只是近五年來被實用 這個技術被發明應該更早些同樣 這個技術的發明者也不是遊戲。。。不過有一款叫「星際爭霸2」的遊戲據說為了解決DS的半透明著色和陰影渲染的問題花了很大功夫不管這個成果有沒有被廣泛應用 我個人覺得SC2應該是DS最教科書的使用案例了。。。
Doom Id-Software
模擬人生!學建築和室內設計都有用 哈哈
John Carmack和他的id software出品的遊戲
動腦遊戲
本回答信息來源於網路,不一定真實不怎麼客觀完全不專業甚至可能答非所問,就是逗個樂子。當然在腦殘粉的眼裡可能會激發他們的戰鬥熱情。謝絕撕逼。請自重,我那麼不是隨便的人。
我想說的是:去年某款國產遊戲四路泰坦都有點兒搞不定,嘲諷了所有顯卡,感覺它就是來推動顯卡更新換代的啊。那遊戲才是真的6。第一屬於《古墓麗影》
TNT的年代。你畫我猜
上學的時候讀過一本書《DOOM啟示錄》,強烈推薦給題主。也許學不到怎麼推動圖形技術發展,但是有持續燃燒的熱情是這項技術的根本
俄羅斯方塊
從開始的起源引擎,到光影系虛幻引擎,還有現在的寒霜,以及孤單的物理系CryEngine 引擎,育碧的snowdrop等遊戲引擎都比較有代表性
推薦閱讀: