天天看點

GAMES202-高品質實時渲染筆記01-ShadowMapping

ShadowMapping

一共做兩次計算,第一次從燈光出發,記錄各點最近深度形成shadowmap。第二次從錄影機出發,利用shadowmap進行陰影判斷。但是會出現自遮擋現象,以及走樣現象

GAMES202-高品質實時渲染筆記01-ShadowMapping

因為shadowmap有像素分别率,從某個像素看去,覆寫過去的深度,就是一個像素大小常值深度。

橘色值方片,就是一個常值深度,随後後面像素被遮擋。

GAMES202-高品質實時渲染筆記01-ShadowMapping

解決辦法:通過夾角判斷忽略一小段距離。

GAMES202-高品質實時渲染筆記01-ShadowMapping
GAMES202-高品質實時渲染筆記01-ShadowMapping

secondDepth shadowmapping

還記錄次小深度,利用最小和次小深度的中間深度,來做陰影投射。

GAMES202-高品質實時渲染筆記01-ShadowMapping
GAMES202-高品質實時渲染筆記01-ShadowMapping
GAMES202-高品質實時渲染筆記01-ShadowMapping

利用積分拆分不等式,将visibility與shading部分分離。當gx積分域較小,且函數足夠光滑時該約等式成立。

對于點光源和面光源都是十分準确的。

Percentage closer soft shadows軟陰影

Percentage closer Filtering(PCF) 是為了解決陰影鋸齒問題,不是為了做軟陰影。是在做陰影判斷時進行操作,而不是得到圖像後做模糊處理。

具體操作:從該點出發,連向shadowmap,并不是隻看shadowmap上一個點的深度值,而是找該點周圍一個區域進行判斷01,最後權重平均計算深度。

GAMES202-高品質實時渲染筆記01-ShadowMapping

利用硬陰影,做遮擋物距離不同大小的fliter就能得到軟硬陰影。

w為軟陰影區域,blocker距離為遮擋物距離。

GAMES202-高品質實時渲染筆記01-ShadowMapping

繼續閱讀