顯示具有 BRDF 標籤的文章。 顯示所有文章
顯示具有 BRDF 標籤的文章。 顯示所有文章

2023年8月27日 星期日

LTC Area Light 淺嘗


教材


中文參考資料

面光源對dA積分

可轉成對立體角dω積分


Integrals over Area
E = ∫ dE
出處

i = cos(θo) dA / r2
dE⊥ = L dωi
dE = L cos(θi) dωi
E = ∫ dE = ∫ L cos(θi) dωi

也可以看成是對投影立體角積分
E = ∫ L dωi

計算Lo的話要再考慮BRDF p
Lo = ∫ p L cos(θi) dωi
get 式① Lo = L ∫ p cos(θi) dωi

Do(ωo) ➝ D(ω)

Doo) ➝ D(ω) ≃ p * cos(θi)


其實你愛我像誰
扮演什麼角色我都會 🎶

可愛又迷人的反派角色 🤠🙂 π米阿

圖 a) 是Doo)
Doo)可以變成不同的D(ω)

圖 b) 是其中1種D(ω)
D(ω)又和 p cos(θi)長得很像

D(ω) ≃ p cos(θi) 代入式①後
get 式② Lo = L ∫ p cos(θi) dω= L ∫ D(ω) dω

圖改自這裡

D(ω)示意圖

out向量指向eye
黃色向量是out的反射向量
也是下圖D(ω)的中心向量

出處

上方D(ω)
下方Doo)

怎麼變換
先變換到shading point的Local space
(3軸是T1、T2、N)

再變換到Do(ω)空間
D(ω)的中心向量
會變成Doo)的(0,0,1)向量

S是2個空間的bridge

Doo) = (1/π) cos(θo)
ωo是立體角,ωo是立體角的指向
有 S = ∫ Doo) dωo 

ωo和ω是「一一對應」

由上圖可知
Do(ω)分佈範圍大,D(ω)分佈範圍小
所以 dω> dω

當濃度不變時 D(ω) = Doo)
∫ D(ω) dω = ∫ D(ωo) dω < S

濃度提高後 D(ω) = Doo) o / dω
get 式③ ∫ D(ω) dω = ∫ Doo) dωo = S

出處

上方D(ω)濃度高
下方Doo)濃度低

把面光源的幾何形狀P
D(ω)空間逆變換Do(ω)空間後
Po會變大

怎麼找出dωo / dω


Doo)空間打光的好處

式② Lo = L ∫ p cos(θi) dω= L ∫ D(ω) dω
式③ ∫ D(ω) dω = ∫ Doo) dωo = S

由式②和式③可得
Lo = L ∫ p cos(θi) dωi
= L ∫ Doo) dωo = L S

Doo) = (1/π) cos(θo)
∫ Doo) dωo = ∫ (1/π) cos(θo) dωo  
S = (1/π) ∫ dω⊥o 

Lo = L ∫ p cos(θi) dωi
= L ∫ Doo) dωo = L S = L (1/π) ∫ dω⊥o 
在另Doo)空間進行打光
只要積分投影立體角



上方D(ω)
為面光源A上每個dA計算投影立體角
每個投影立體角還要乘上p

下方Doo)
只需要計算面光源A的投影立體角

積分投影立體角

E(Po) = S= ∫ Doo) dωo = (1/π) ∫ dω⊥o 
嚴格說來 ∫ Doo) dω其實不是Irradiance E

使用
結束這1回合

Bravo!


Come be my teacher
네 모든 걸 다 가르쳐줘
Your one, your two 🎶

等等那M怎麼找出來的?

窩不知道

出處

2023年8月22日 星期二

Trace Code:Image Based Lighting

Trace what

LearnOpenGL:鏡面反射 IBL


IntegrateBRDF


程式碼

pdf怎麼來的?

窩不知道

Microfacet BRDF的分母怎麼來的?

窩不知道


有些事情還是不要知道比較好 🙂🤠

遇到老司機

可以繞過英文真是太好了

原圖出自上面的連結
=( i + o )/2
固定i轉動ho就會跟著改變
最後會發現
oh的2倍大


pdf怎麼來的?

把上面那張圖反著畫(固定dωo),可知
1 / 4(HoL)= dωh / dωL
L for light dirction
h for half vector

又因為
pdfh * dωh = pdfL * dωL

代號「雪莉」

最後可得
pdfL = pdfh * dω/ dωL
pdfL = pdf/ 4(HoL)

同時 HoL = HoV
V for view direction

ImportanceSampleGGX有符合上面提到的pdfh嗎?



奇怪的是
把P(Sθ)放到Geogebra裡畫
看起來完全不像cos-1(xxx)的反函數

Geogebra

紅色那條不是應該長成這樣嗎?
對稱x=y軸

A哥的頭髮得再厚一點才行 🙂

prefilter.fs


黃色部分怎麼來的
基于物理的渲染:基于图像照明 💫

可逆的BRDF

當BRDF可逆時

圖改自這裡

從黑色箭頭方向射入1後(in)
會向多個方向散射(out)

1對多能量守恆
∀ ωi ,∫ fcos(θrdωr  1
r 就是 out

圖改自這裡

BRDF的可逆指的是
從黃色箭頭方向射入1後(in)
往黑色箭頭方向散射為0.3

多對1能量守恆
∀ ωr ,∫ fcos(θidωi  1
r 就是 out

出處

1對多能量守恆的証明