我正在嘗試執行this SAO algorithm。可伸縮環境Obscurance呈現問題
我得到以下結果:
我想不通爲什麼我鼻子上的牆壁之上,這似乎是一個Z緩衝區的問題。
這裏是我的輸入值:
const float projScale = 100.0;
const float radius = 0.9;
const float bias = 0.0005;
const float intensityDivR6 = pow(radius, 6);
我使用的是原來的着色器無需修改,但我禁用深度緩衝的貼圖的使用。
我的深度緩衝(在不同的場景,不好意思):
您可以發佈解決方案嗎? 我正在實施相同的算法,我可能會遇到一些您遇到的問題。我沒有否定我的近/遠飛機,但它似乎沒有做到這一點。然而,只要我的相機靠近一個物體,我就會得到一個錯誤的自遮擋(http://i.imgur.com/OWriRrK.png)。我不確定這一點,但它可能與您遇到的問題有關。 –
您應該否定近平面和遠平面,以避免在某些情況下看起來得到正確結果的錯誤積累。因此,我花了一些時間來了解我的問題。你的飛機前角有AO,因爲它不是無限的,除非我不確定你的結果是否錯誤。你有其他照片嗎? –
是的,我在Sponza場景中還有其他人。場景適合半徑23單位的邊界球。結果非常好:http://i.imgur.com/lXFuOXP.png(你可以在右上角看到場景設置)。但是每當我增加半徑時,我都會看到相同的效果,當我將相機放在近處時,我會看到自我遮擋: http://i.imgur.com/TqRaoy0.png 有些東西我忘了要提到的是,根據相機從屏幕上實際看到的內容,我的近/遠會自動更新以適合相機。 –