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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

PBRT-V3体渲染笔记

發(fā)布時間:2023/12/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PBRT-V3体渲染笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一 基本原理整理

影響radiance在參與介質(zhì)分布的三個過程:

Absortion,Emission,Scattering(分為out-scattering和in-scattering)。

Absortion

吸收系數(shù)為σa,入射radiance Li經(jīng)過距離dt,吸收后的出射radiance Lo的關系如下:

? ? ? (1)

對上式解微分方程得到一個值,表示經(jīng)過d距離后的剩余比例:

? ? ?(2)

Emission

這個沒什么好說的,直接上公式:

Out-Scattering

out-scattering也是radiance衰減的一個表現(xiàn),散射系數(shù)為σt,方程如下:

? ? ?(3)

該方程和方程(1)完全一樣,除了系數(shù)σ,因此Absortion和Out-Scattering合并可以得到一個衰減系數(shù)σt。

所以整體的transmittance的微分方程解為:

? ? (4)

其中d = |p - p'|。

Transmittance的意義是:radiance經(jīng)過距離d后,得到的fraction。

公式(4)中的指數(shù)部分的負數(shù),叫兩點之間的optical thickness

In-scattering

In-scattering能增加出射的radiance,那么在確定一個出射方向時,有多少radiance能散射到出射方向呢?

這里引入一個phase function,描述一個點在某個方向的出射分布,可以理解成是每個出射方向的概率密度函數(shù),假設出射方向是ω,入射方向是ω',那么有如下的公式:

in-scattering得到的radiance是:

? ? ? ? (5)

假設p點上的自發(fā)光是Le,那么p點增加的radiance可以表示如下:

? ? ?(6)

傳輸方程

傳輸方程描述的某個點延某條路徑的radiance。

現(xiàn)在只考慮從一個surface的p0點反射出來的radiance的某一點p的傳輸方程:

公式如下:

? ? ? ? ? ? (7)

公式(7)的第二項表示路徑里所有點的In-Scattering貢獻。

回顧LTE方程,需要把bsdf函數(shù),積分域,幾何函數(shù)全部做一個針對參與介質(zhì)的修改。

二 實現(xiàn)

采樣t

提到采樣,那就要問,到底我們要采樣什么?

和普通的LTE不一樣,LTE采樣的是BSDF的方向,而帶參與介質(zhì)的渲染,還需要采樣路徑方向上的,用于估計該路徑的radiance貢獻。

這里有個先決條件,就是射線是一定會和surface相交的,即射線的tMax一定不是無窮大,該射線會經(jīng)過參與介質(zhì)medium。

假設surface的點是p,射線方向是-ω,那么射線方向的點的概率是pt(t),改點的位置是p + tω。

那么取得surface上的頂點的概率是:

? ? ? ? ? ? (8)

有了概率,就可以對貢獻做估計,β是估計出來的throughput。

surface上一點的throughput估計:

medium上一點的throughput估計:

這里為什么要加上σs?Out-Scattering的衰減要考慮在內(nèi)。

到目前為止,我們已經(jīng)根據(jù)采樣點和該點的概率密度估計出Throughput,接下來我們還需要估計光照的radiance。

也是分兩種情況:

如果采樣點是surface,直接采樣bsdf進行估計。

如果采樣點是medium,那么我們要估計的是公式(7)的第二項的積分(自發(fā)光忽略):

根據(jù)重要性采樣,取一個pdf形狀接近Tr或Ls的,pbrt中用Tr作為pdf的分布。

反函數(shù)法求t:

當t < tMax的時候,那么pdf函數(shù)是:

當t > tMax時,說明采樣到的點是surface上的交點,這時的pdf是:

由于pdf是一個float值,而σt,Tr都是Spetrum,所以需要隨機采樣一個Spetrum的channel,然后按上述反函數(shù)法求t,

然后在把channel的pdf加取來取平均值。

接下來就是要采樣Li了,類似bsdf,如果是介質(zhì)中一點,通過phase函數(shù)采樣入射光。

采樣Phase function

均勻介質(zhì)的phase函數(shù)用的是Henyey–Greenstein,公式如下:

對phase function做積分:

所以概率密度函數(shù)是:

根據(jù)概率密度函數(shù)的轉(zhuǎn)換:p(θ, φ) = sinθp(ω)

邊際概率密度函數(shù)求p(θ)

條件概率公式:

p(φ | θ) = p(θ, φ) / p(θ) = 1 / 2π

反函數(shù)求φ:φ = 2πξ1。

下面求p(θ)的CDF,過程很復雜,需要借工具來求,https://www.symbolab.com/solver/calculus-calculator

最后可以得到pbrt的結(jié)論(g ≠ 0)

g = 0時,pHG = 1/4π,概率密度按如下算:

θ的CDF如下:

所以這個時候有:

整個采樣過程完畢。

總結(jié)

以上是生活随笔為你收集整理的PBRT-V3体渲染笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。