2018年7月11日 星期三

DOF with alpha blend depth map

一般DOF的做法大多是參考Depth Map,然後依照遠近再來決使用Blur Map或Color Buffer。
但是因為Alpha Blend通常沒有輸出深度,所以會發生因為錯誤的深度導致Alpha物件會顯示
錯誤的模糊效果。

目前自己的解決方法是為Alpha Blend物件單獨輸出一張Alpha Test的Depth Map,之後再跟深度貼圖取最近的深度即可。

在還沒使用Alpha Blend Map時,畫面如下(其中藍色的部份因為不透明物件的關係,顯示比較正確的結果):




使用後如下:



雖然在邊緣的地方還是有沾到遠處的深度,但效果還算可接受,唯一比較大的問題,就是會
多了alpha blend物件的draw call。


最後附上相關的影片:



Dream continues in...

沒有留言:

張貼留言