TheTechBehindDx11UnrealEngine”Samaritan”Demo

來源:互聯網
上載者:User

 

 

link:

http://www.nvidia.com/content/PDF/GDC2011/Epic.pdf

 

 

 

 

deferred shading

輕描淡寫的提了一下,實在是在業界已經普及了,epic大肆宣揚就沒意思了,只是更新下大家的knowledge base,unreal engine 3現在也defer了。

 

 

 

short hair

 

使用camera aligned triangle strip, 然後配上貼圖,很類似grass的渲染。

重點在alias的處理,在單純的1x buffer怎麼做都是達不到高品質:

alpha test:alis

alpha blend:sort, fogging, dof

alpha to coverage:problems with many layers

最後選擇是在4xmsaa buffer上做alphatest,然後resolve,可以說是super sample anti alias

 

 

per fragment AA

MSAA會出現左邊白邊的問題,原因是邊緣處depth遠近不一樣,而必須有一個值。

unreal使用stencil把這個部分標出來,然後先做perpixel shading,這個過程stencil被全寫過的部分就可以無視,被半寫過部分就是可能白邊的地方,再做一次perfragment shading就好了。

的確是比較不錯地辦法。

 

 

subsurface scattering

效果很棒,牽涉的論文讀起來要費挺多的事情,pdf裡面martin也就淡淡的一句,screenspace搜集lighting contribution,隨機的搜集周圍16個sample。

 

 

 

 

Reflection

 

使用billboard+raytrace的方式來完成。

平面反射,也就是把camera相對於反射面翻轉,然後render情境的方法只能適合水或者單純的平地面,對於複雜形狀不行。

unreal的方式非常針對夜晚情形,只反射一些亮的東西,把這些東西做成billboard在反射中使用。

使用raytrace來sample反射的內容,由於是billboard,所以計算還是相對輕量級。

 

至於各種奇怪的反射,拉長條的,blurry的,就在這個演算法下把reflection ray稍加變動就可以。

 

reflection shadow, epic做的真是夠糾結的,

static是用一個offline產生的存在volume texture裡的distance field

dynamic是用傳統planar reflection的方法用反射camera畫depth,根據depth的每一個texel來畫quad產生final mask。

final mask與billboard一起作用營造出有shadow的反射。

這裡的消耗感覺有點驚人。

 

 

 

Bokeh

 

估計這屆gdc之後最明顯普及的一個東東就是這個了,背景中亮片的效果。

 

基本演算法還是brightpass檢測,在亮的pixel上畫quad或者類似的一些形狀。

epic的dof solution還包括近景和遠景的blur,所以使用了3個layer來區分,避免出現artifact。

 

由於這個效果是不需要準確的效果,所以low resolution的方案是肯定要使用的了。

 

 

其他,

文中提到一個能量守恒(energy preserving),就是對光照模型做一些矯正,保證radiance和irradiance能量上一致,這。。。玩家的火輪眼真的有能力識別這個嗎?

 

screen space subsurface scattering裡面reference有點多,需要慢慢看一下,但是由於這個和手頭工作相去有點遠,所以優先順序要降低了。

 

 

 

其實看下,這個demo裡面的技術也沒有太多特別的,但是拿出來就是震撼。

再次詮釋了遊戲發展至今絕不是一條腿可以跑的,tech,art,design三者都強的才是王者。

carmack那個單純靠技術和單人能力就能殺出一條血路的時代已經過去了。

 

反射的部分是我的最愛,的確很不錯。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.