Quarter Buffer Rendering

遊戲圖形開發者對效率有着無止境的只求,總是希望在不損失質量的情況下用效率高的方法來提升遊戲性能。

分辨率作爲遊戲性能的一個非常關鍵的因素,當然也是被重點照顧的對象,Mixe Resolution主要講的是一種用低分辨率一般是quarter buffer來渲染遊戲的某一部分,比方粒子或者AO,粒子因爲很多信息是低頻所以採用quarter buffer問題也不大,而粒子往往是一個遊戲性能開銷的大頭,因此用quarter buffer來渲染粒子是非常有意義的,用quarter buffer渲染基本分爲以下步驟:

1.Restore Quarter Depth.

2.Render Particle To Quarter Buffer(這裏要注意Buffer被Clear的時候需要將rgb清成0,a清成1),而且alpha blend的renderstate也要做出相應改動,這個是根據推導推出來的,否則沒辦法再畫一個全屏quad貼回去,後面會貼一個Blog來詳細推導renderstate應該怎麼設爲什麼這麼設。

3.Render a FullScreen Quad to Apply Particle(因爲第一步Restore的時候Depth精度已經降低了,所以直接往回貼的時候會有明顯的鋸齒,這時候如果採用Bilateral Filter的話就會大幅減少鋸齒,但是Bilteral也不是吃素的)

4.測量1-3的時間是否比全屏的時間(2的4倍)少了,如果少了就quarter buffer,否則就不用因爲這時候明顯quarter buffer用了比沒用還廢


Jeremy Shopf以前是ATI的圖形專家,有不少Demo出自他的作品,Mixed Resolution Rendering方面積累了很多實戰經驗,詳細講解了Bilateral Filter,這是個非常神奇的Filter.


http://developer.amd.com/wordpress/media/2012/10/ShopfMixedResolutionRendering.pdf

發佈了27 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章