超級計算機可不可以做到全實時真實物理光照渲染?
不是遊戲裡面的那種高度簡化的渲染。
非實時的渲染依靠CPU,但是CPU足夠強大的話,是否快到和實時差不多。
不能。因為延遲很大。
超級計算機算的快,前提在於你必須把一大堆數據送過去,把它塞滿,在一定時間之後,你會發現結果都好了。而不是說,你給少量數據它瞬間給出結果。所以,即便它渲染一幀&<16ms,你仍然有可能需要等一陣子才能得到結果。而這個延遲使得你沒法交互,就沒有實時不實時的意義了。
我們2009年的paper http://research.microsoft.com/pubs/101500/c91-f91_1-a292-paper.pdf已經可以做到渲染同樣的電影場景,在3 GPU上比PRMan在4 core CPU上快6-40倍。如果場景不變,甚至可以在解析度較低的情況下&>1FPS。然而那是當年的GPU,而且那個演算法也同樣適合CPU。ray tracing效果爛一點的(只包含反射、折射和陰影)在i7上都可以15fps的跑了(還是我寫的那個完全沒有優化的爛實現)。在此基礎上加上AO,好好優化一下,一塊760也可以實時了。在此基礎上,如果需要photon mapping,搞一台workstation也是沒問題的。在此基礎上,如果你還需要超大場景、貼圖全局光源、次表面散射、丁達爾效應、景深、全屏幕抗鋸齒,(通過矢量微分做的)各向異性的貼圖採樣啥的……寫成分散式的就得靠一塊超好的網卡了……
首先要定義什麼是「真實物理光照渲染」,如果是指和真實自然渲染相同的話,那麼答案是不但沒有實時渲染,甚至沒有任何演算法可以做到。圖形學研究者認為自然中光線遵循「渲染方程",而所有目前的演算法(光線跟蹤,Radiosity)以及光照模型(Phong Shading, Blinn-Phong Shading)都是渲染方程的近似,目前並沒有(理論上也無法)演算法能完全模擬完整的渲染方程。
接下來,目前被認為比較真實的一些渲染演算法,包括光線跟蹤、Radiosity等也都有各自的局限性。光線跟蹤難以實現軟陰影,Radiosity能夠很好地實現軟陰影,但又難以實現點光源,方向性光源和鏡面反射,而二者都難以實現Caustic (optics)特效,針對Caustic又有Photon Mapping技術。結合所有這些渲染後,已經可以實現非常逼真的渲染了,但代價是運算時間和內存消耗的極度攀升。以目前的研究成果而言,使用上述技術渲染一幅解析度尚可的畫面,尚難以做到實時(這裡的實時也是相對幀率而言,但一般至少要滿足24fps才能稱之為實時)。
如果我們稍加簡化,只考慮光線跟蹤(其實渲染效果也很不錯),那麼現有的技術已經足以實現實時渲染,但需要高度並行和高效的處理器(CPU或GPU)。Intel曾在2008年發行了著名遊戲Quake的光線跟蹤版Quake Wars: Ray Traced,在16核Xeon處理器上能夠實現14-29fps的渲染效率。另一個致力於高效光線跟蹤的開源框架是OpenRT,使用了大量的優化技術。更多的內容可以參見Ray tracing (graphics)這裡。
另一個重要的結果是下一代原子級3D實時渲染技術——無限細節,這個來自澳大利亞的公司宣稱實現了」無限精度「的實時渲染,由於該公司是商業公司,關於他們的渲染技術並沒有更多的細節,但普遍認為是Volume rendering的類似方法。不過,該方法仍然不是完美的渲染,因為Volume Rendering也有很多需要解決的光學問題。
但是擁有了更大規模的計算資源之後,高幀率的光線跟蹤事實上已經變得可能,加入其他渲染技術的實時渲染也即將到來。雖然個人很難擁有這樣的計算資源,但可以藉助於雲計算。事實上,Autodesk Cloud已經提供了Rendering服務。可以預見在未來,當普通用戶的網路傳輸速度和伺服器計算資源進一步得到大規模提升,3D遊戲的實時雲渲染將變得觸手可及。只不過,這仍然不是「真實物理渲染」。物理燈光?真實渲染?
不管CPU還是GPU的光線跟蹤渲染器大部分都是有偏差渲染器,渲染效果不是完全物理真實的。
雖然很多渲染器都說自己是無偏差渲染器,強調物理真實的渲染結果。
但都會有優化計算,不是真正的無偏差渲染,完全物理無偏差渲染一幀的時間有多長?估計該軟體的程序猿才知道吧…首先說答案:不能。
說通俗點,超級計算機的設計製造不是用來干這個的。
超算不同於我們普通意義上的pc,不管是在結構組成還是運算機制。這也是為什麼好多為某些項目建造的大型計算機要作針對性的設計,硬體和軟體兩方面都是,為了提高效率。而目前超算並不適合進行實時渲染這類工作,加入有天人類需要這類工作,專門建造一台,那沒確實可以實現。基於GPU技術,早在2010年在一個技術研討會上展示過這樣的效果。該軟體大都運用在工業產品裡面,因為價格比較貴,像反射折射normal這些都是單賣的。
計算機模擬真實世界的極限就是我們目前能發現最小的單位
雖然 Path tracing 本身就極其適合併發(否則 render farm 這玩意是怎麼弄出來的)但是 realtime 的 latency 很難保證,所以還是拿來渲圖比較好
推薦閱讀:
※為什麼那麼多人對gta的認知還停留在VC和SA?
※有哪些遊戲是最令你難以置信的廠商製作/發行的?
※關於gta系列的恐怖bug或者彩蛋?
※與 COD、ARMA、CS 等遊戲相比,GTA V(PC)射擊時的手感具體差在哪?
※《俠盜獵車手 5》(Grand Theft Auto V)的魅力在哪裡?與前代相比有哪些擴展?