《星際爭霸2》官方技術(shù)文檔解密
- 作者:不死鳥
- 編輯:ChunTian
解碼緩沖器
所有的緩沖器應(yīng)該都使用相同的深度,不幸的是似乎這些緩沖器遠遠不能滿足暴雪的需要,這些緩沖器以24字節(jié)每像素推動輸出帶寬,這樣使得整個帶寬明顯不足,因此在安置光源的時候必須犧牲一些。
為了向MRTs提供每像素值以保證用于各種的效果,因而以下必不可少:
◆ 深度值為照明、霧卷、動態(tài)環(huán)境閉塞和智能景深,預(yù)測,邊緣檢測和厚度測量;
◆ 平均值為動態(tài)環(huán)境閉塞;
◆ 彌漫性及鏡面照明。
延遲渲染
在Starcraft II中延遲渲染只適用與當(dāng)前的渲染,包括燈光的點和散射出去的面都要再渲染,但是由于游戲中會出現(xiàn)很多的照明設(shè)備,如果都使用這樣的方法渲染的話一定會造成畫面過于緩慢,因此延遲緩沖器的出現(xiàn)也解決了這一難題。在延遲渲染和著色方程式的幫助下計算機能很快的繪制出不同形式或者更為復(fù)雜的光源,這樣也為其他的計算提供了一個后處理的過程。
像素坐標(biāo)重建
受益于早期的樣板,暴雪在設(shè)計新的形狀和色彩的時候輕松了不少,而且同時還釋放了CPU。
相機原理我們都知道了,就通過這樣的模式使得暴雪在視覺上更了解該如何設(shè)計。
屏幕空間環(huán)境光遮蔽
屏幕空間環(huán)境光遮蔽(Space Ambient Occlusion,簡稱SSAO)。如果對這個名詞感到陌生,那提及到讓大家記憶猶深的《Crysis》逼真的光照效果時,一切就很簡單了,這就是SSAO技術(shù)的獨到之處。
暴雪在這使用這方案的時候考慮到了整個空間的效果和質(zhì)感,也許從某寫方面上來看,沒這個必要,但是基于暴雪的理念,一點點瑕疵都是不被允許的。
在任何可見的點和表面在屏幕上,采取多個樣本(8至32),這些樣本,表現(xiàn)了在三維空間中從目前的點計算,到預(yù)計回屏幕空間所需的時間和深度。
現(xiàn)在的目的是檢查是否深入采樣點,如果接近這個更遠的采樣點本身能獲取信息的話就這么做下去,這是一個函數(shù)問題,因此需要復(fù)雜的計算。
不過在對地圖的計算時不會采用這樣的方法,這僅僅是為了形成一個空間的效果而已。
模糊效果
前面的一切都是為了更加細致的描繪出所有的場景,但是,有時候游戲還是需要一些模糊的圖形圖像,如果一直使用SSAO技術(shù)的話,必然導(dǎo)致不真實。
對于SSAO來說,雖然是一種優(yōu)勢,但是高智能的判斷在這時也顯得尤為重要,何時需要高精度的細致圖像,何時需要動態(tài)模糊效果,無論是著色還是渲染都需要大量的資源的計算才能顯現(xiàn)這些復(fù)雜的效果。
自我閉塞
這也是一個相當(dāng)復(fù)雜的效果,就像一個圍繞著一個半球體產(chǎn)生偏移向量,這一點上在屏幕上(這意味著需要使用大量的延遲緩沖器),由一個矩陣轉(zhuǎn)化每個偏移向量和正常向量來抵銷矢量。
邊緣處理
偏移向量在空間中并不像在屏幕空間中一樣,由于鏡頭的不斷移動使得SSAO不斷變化,這樣就需要在移動的過程中對鏡頭的邊緣進行處理,以保證完美的視覺效果,但是紋處理包裝上并不是一件簡單的事。
SSAO的表現(xiàn)
SSAO提供的效果是讓人相當(dāng)滿意的,視覺圖像質(zhì)量的處理近乎完美,但是成本過高,而且大量使用還是會造成系統(tǒng)性能瓶頸,這樣得不償失,因此合理的使用這個技術(shù)也是討論的問題之一。
SSAO和整體光線效果
從圖中很明顯的發(fā)現(xiàn)了SSAO的精妙之處,如此逼真的效果讓人贊嘆不已,其實更多的還是其后面的技術(shù)支撐。
我們可以把一切制約因素一起使用以下過程表示:
◆為每個像素在源的形象和存儲執(zhí)行一個全屏幕通過計算混亂循環(huán)結(jié)果,在Alpha通道的每邊縮減一個CoC圖像緩沖區(qū)的四分之一大?。?/p>
◆產(chǎn)生中等模糊圖像通過應(yīng)用的RGB高斯模糊與每個樣本對源圖像加權(quán)CoC;
◆產(chǎn)生的最大模糊圖像只有縮小的RGB的圖像緩沖區(qū)源圖像的四分之一,每一個CoC和大型模糊緩沖器可以同時使用不同的通道;
◆最高模糊圖像與RGB樣本加權(quán)由縮減CoC執(zhí)行,Alpha通道中載有CoC,也有模糊,但其樣本不加權(quán)本身;
◆縮小和模糊一張深度地圖成為一個縮減深度圖像,重用深入SSAO縮減(SSAO不模糊深度 );
◆然后開始最后的景深著色,有一定的形象來源,中等和大型模糊、模糊CoC的形象,非模糊深入地圖和縮減深入形象的渲染。
景深渲染包括:
◇計算小模糊價值,直接使用小樣本著色四近鄰像素;
◇計算CoC的像素(縮減CoC將不匹配);
◇樣本非模糊,使用模糊的深入比較——計算機CoC,如果是模糊的深入,比非模糊的深入更遠,否則使用CoC價值樣本,模糊CoC的形象;
◇計算貢獻,從每一個可能的模糊圖象,計算小模糊的顏色,中型和大型的圖像模糊的基礎(chǔ)上,CoC的因素;
◇小型,中型和大型模糊;
◇輸出Alpha包括的源(無模糊)形象。
處理透明物體渲染
透明度是一個值得深入研究的問題,當(dāng)涉及到開發(fā)時暴雪的董事會認為延遲渲染技術(shù)不支持透明度的話就應(yīng)該在其他地方加上這個功能,而事實證明這是一個正確的選擇。
作為是典型的就是延遲繪制技術(shù),透明度的問題還設(shè)計到樹蔭等一系列問題,因此必須選擇一些有代表性的物體來標(biāo)記之后再做探討。光線的問題在透明度的談?wù)撝性僖淮伪惶峒埃驗檫@是個相輔相成的東西,因此暴雪在制作這一切的時候都努力的尋找解決方案。
半透明陰影(Translucent Shadows)
這種技術(shù)能令煙霧、爆炸也能投射出陰影效果。
早期在建模的時候影子系統(tǒng)都是成功地利用屏幕空間信息解決跟蹤問題,否則將會困難很多,但這次暴雪將顯示如何延長陰影地圖的每像素信息與一些額外的信息通道,可以用來容易的充實陰影,地圖上實現(xiàn)半透明的陰影支持。
陰影地圖算法是延長與第二地圖的陰影信息形成半透明的陰影,大部分地圖的影子仍然會包含不透明信息的陰影,此外還需要做到在顏色的緩沖區(qū)發(fā)現(xiàn)顏色半透明的陰影。不過,這一切都需要硬件的支持,如果硬件不支持將會有一個空的顏色,因此在考慮到深景等特效的時候暴雪依然在處理陰影效果。
首先是清理,以白色調(diào)和,然后填補渲染透明物體的陰影,就這樣形成一個透明的陰影色彩緩沖區(qū),再加上測試,處理這些透明光過濾器,最后形成需要的效果。
光過濾處理器
總結(jié):
從上面簡短的一份官方技術(shù)文檔(因為AMD只放出這一部分),我們已經(jīng)可以了解到暴雪在SC2這個游戲上所付出的努力和貢獻了,其效果之華麗恐怕也是驚人的。作為暴雪十多年磨一劍的大作,《星際爭霸II》可是包含了現(xiàn)在最尖端的技術(shù)和效果,無論是暴雪的質(zhì)量還是技術(shù)相信都是世界頂級的水平,這樣的游戲公司確實在為自己的的作品留芳百世而努力!不過,至于還要等多久,至今仍是一個謎。
玩家點評 (0人參與,0條評論)
熱門評論
全部評論