http://publications.dice.se/attachments/BF3_NFS_WhiteBarreBrisebois_Siggraph2011.pptx
frostbite engine(寒霜引擎)
系列引擎在battle field以外的知名游戲上<need for speed:the run>開始應用。
關注dice很長時間了,學習到很多東西,很欣喜的看到frostbite從<battle field:bad company>時候的偶有亮點(建筑地形毀壞)到現在在battlefield3中成為的圖形效果新標桿,可以和CryEngine3的效果一較高下,并且在銷量上也取得了不俗的成績,可謂雙重勝利。
現在使用frostbite2制作了<need for speed:the run>
本文介紹在frostbite2在兩款游戲上技術的應用。
**bokeh blur**
這個效果不太感興趣,在ce3,ue3和frostbite,還有n多其他的游戲paper里都有說。
這里說的一點挺好,就是blur,有的是不能separate的,那么這個計算量就是:O(n*n),有的是可以separate的,比如,那么計算量是O(n).
可以separate的包括gaussian blur,box,skewed box。
**ZCull Reverse**
這個是一個挺有意思的技巧,一般在deferred lighting中做point lighting的時候,是使用front face和back face各render一個pass的方式,使用stencil來確定point light sphere影響的區域。
這里介紹一個方法是把zcull的compare方式變成GreaterEqual,這樣和正常的方法上在point light起作用,比如:
A和B的情況,是否reverse是等價的(一個在A上省一個在B上省),但是C的話就是reverse的好多了。
使用csm,也可以這么做,畫一個cube來做一個cascade,用stencil標記前一個cascade render過的pixel,挺不錯的。
**MinMaxShadowMap**
這里說的問題是shadow map mask問題,把需要soft shadow(也就是shadow和unshadow部分交界的地方)和純的shadow和unshadow的地方。
這里的算法是:
- 使用hard shadow map畫第一遍
- downsample,把需要soft shadow的地方和hard的地方以不同的alpha保存
- 使用alpha test來更新stencil
- 使用stencil test來跳過不需要soft shadow的地方,進行pcf
**Chroma sub-sampling**
并不是一個新的概念,jpg壓縮中常常使用的,就是把顏色分成luminance和chroma兩個部分,全精度存儲luminance,低精度存chroma。
具體可以看wikipedia的連接:[link](http://en.wikipedia.org/wiki/Chroma_subsampling)
這樣的壓縮之后,post process 的bandwidth消耗降為1/4
**Temporally-stable?Screen-Space Ambient Occlusion**
frostbite2提供了兩種dynamic ao:
- 普通的ssao給中低端機器
- hbao給高端機器
質量對比很明顯了:
HBAO:
SSAO:
ssao的sample方式是volumetric occlusion的line的方式,效率比較好。
這里主要是說了blur的方式,把4個純色的ao的pixel信息pack到rgba里面,這樣一個9x9 gaussian blur會被降到3個horizontal tap和5個vertical tap,效率對比很明顯:高于4:1的一個差距
- 前言
- PracticalOcclusionCullingInKillZone3
- KillZone3的版本發布工具
- BattleField 3和NeedForSpeedTheRun中的渲染技術
- Shiny PC Graphics in Battle Filed 3
- Cascaded Light Propagation Volumes for Real-Time Indirect Illumination
- [crytek]Spherical Skinning withDual-Quaternions and QTangents
- [gdc12]神秘海域的水技術
- 《鋼鐵俠》等電影中的image based lighting和physical shading
- CompanyOfHeroes2渲染技術
- [sig13]Lighting technology of &quot;The Last Of Us&quot;