日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSDO AO 图像空间的动态全局光照

發布時間:2023/12/13 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSDO AO 图像空间的动态全局光照 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文僅記述SSDO學習筆記!

概述

SSDO Screen-space Direction Occlusion 是對AO的擴充,在AO的基礎上,假設沒有遮蔽的方向有直接入射光,有遮蔽的方向,可能有間接光的反射。

SSAO理論分析

AO:在計算點的周圍進行采樣,如果采樣點的深度大于采樣點所對應的屏幕空間的深度,則認為是沒有光照進入,否則我們則認為有間接光照,這樣我們就可以對所有采樣方向進行積分,計算這一點的光照。

讓我們來看一下如何進行計算的:

一切起源于渲染方程,在渲染方程中我們有三項值得注意,入射光,BRDF以及可見度。

然而在實時渲染中,我們有一個偉大的近似公式:

  • 這里需要f(x) 必須要比較光滑。
  • 或者average f(x) in the support of G

  • 那么我們可以依據這個公式將可見度分離出來,并進行積分,注意在AO里面是間接光照,并且是個常數。

    cosθidωicos\theta_{i}\mathrmozvdkddzhkzd\omega_{i}cosθi?dωi?的積分是什么呢? 對,其實就是算一個投影立體角,即π\piπ

    由此,我們的渲染方程就轉變為:

    實則,在這里我們就可以看出來,這還是求解渲染方程,那么就可以理解為屏幕空間的光線追蹤。
    在object space進行光線追蹤是非常慢的,并且依賴于屏幕的分辨率以及難以理解和計算麻煩。
    在屏幕空間計算則非常簡單,不依賴于屏幕分辨率,但不符合物理。
    結果呢:

  • 產生的結果依賴于采樣,因為我們還是在求解積分,采樣越多,質量越好。
  • 需要采樣的位置必須隨機,指定半徑。
  • 噪點,會產生噪聲,那么我們還需要后期的降噪過濾。
  • 但總之增加了圖像的細節,效果還不錯。左邊AO,右邊 no AO。

    感謝閆老師的課程。

    那么我們在此基礎上來看一看DO吧!

    SSDO理論分析

    如何重建世界坐標.

    一切來源于渲染方程,討論過AO之后,我們知道了AO假設未被遮擋的方向有間接光照,那么DO則進行大膽假設:

  • 未被遮擋的地方有直接光照
  • 遮擋住的地方存在間接光照

  • 很重要的一副圖,其中CCC點是直接光照,A,B,DA,B,DABD點都表示會有間接光照,B,DB,DBD點會有間接光照。

    直接光照

    是不是很眼熟,對,這時對AO方程的離散化形式,并用作直接光照的計算,讓我們分析一下:

  • PPP就是我們需要計算的著色點
  • Lin(ωi)L_{in} (\omega _{i})Lin?(ωi?)是從ωi\omega_{i}ωi?方向來的直接光照
  • 由于是屏幕空間所以這里將fr(ωi,ωo,f_{r}(\omega_{i},\omega_{o},fr?(ωi?,ωo?,p)))假設為diffusediffusediffuseBRDFBRDFBRDF
  • Δω\Delta\omegaΔω 則是均勻采樣的立體角 Δω=2π/N\Delta\omega = 2\pi/NΔω=2π/NNNN是采樣數量 。
  • 因為是離散化形式,那么我們所需的積分變量就不再是單位立體角,而是一個具體的立體角,這里假設我們是均勻采樣,并且我們不能在離散的計算機中表達出連續量。

    間接光照

    我們要知道一點的光照強度來源于直接光照和間接光照。
    那么對于被遮擋住的間接光照我們怎么計算呢?

    對,一切起源于渲染方程,對于間接光,我們則做了一個更大的假設,假設每一點都是一個VPL(虛擬點光源)。
    讓我們來分析一下不同:

  • LpixelL_{pixel}Lpixel?:來源于采樣點所映射到的屏幕點的Radiance,簡單來說就是屏幕像素顏色。

  • ρ\rhoρ與直接光相同,是albeoalbeoalbeo

  • AsA_{s}As? 是一塊 sender patch,即發送光線的虛擬點所占的面積的投影,投影是因為接收點所接收的能量是從來自發射方的投影,即這是對VPL的修正,因為假設是均勻采樣故這時一個常數,即πr2/N\pi r^{2}/Nπr2/N。可以從下圖理解一下,即從發射光線的角度去思考。

  • di2d_{i}^{2}di2? 的理解從下圖理解:即點光源沿著某個方向傳播有著r2r^{2}r2的衰減。

  • cosθsicos\theta_{si}cosθsi?cosθricos\theta_{ri}cosθri? 則是發送方的法線和接收方的法線與采樣方向的coscoscos值,即光線不可能從采樣點的背面發送到著色點,也可能與 3. 中的意圖一樣,即著色點會接收垂直于它的所有光線的能量。

  • 至此SSDO的理論全部結束,通過LdirL_{dir}Ldir?可以算出遮蔽光,LindirL_{indir}Lindir?則可以增加反射光。

    注意點

  • 對于這種方法自然是采樣越多效果越好,噪點越少,cost越多。
  • 對于深度的比較,自然需要bias的修正。
  • 對于提升質量或者修正錯誤有著Depth Peeling方法。即記錄多層深度法。
  • Additional Cameras增加多個攝像機來渲染深度圖,分別進行比較。
  • 結語

    SSAO與SSDO都是很不錯的方法對于提升畫面質量,很值得我們學習!

    對那充滿不安的日子說再見吧,對那充滿不安的日子說再見吧,滿
    向著未知的夢境之地前行,向著未知的夢境之地前行,
    我想總有一日我會變得更加堅強!我想總有一日我會變得更加堅強!

    總結

    以上是生活随笔為你收集整理的SSDO AO 图像空间的动态全局光照的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。