考慮pbr的話, 考慮光到底物體是怎麼互動的.
光打到物體上, 一部分會被吸收, 一部分會被散射最後到達我們的眼睛.
影響光的乙個重要特性是材質的折射率.
觀察物體表面可以發現, 為什麼有些物體是粗糙的, 有些物體是光滑的.
光透過物體, 進入物體內部, 又彈射出來, 叫做次表面散射.
brdf 有兩種理解方式:
給定入射角, brdf可以給出所有出射方向上的反射和散射的光線的相對分布
給定觀察方向(出射方向)後, brdf可以給出所有從入射方向到該出射方向的法線分布.
brdf 可以用於描述兩種不同的物理現象:表面反射和次表面散射。針對每種現象, brdf 通常會包含 乙個單獨的部分來描述它們——用於描述表 面反射的部分被稱為 高光反射項 (specular term), 以及 用於描述次表面散射的 漫反射項 (diffuseterm),
繞著表面法線旋轉入射方向或者觀察方向,並不會影響brdf的結果的材質, 稱為各項同性
l o(
v)=∫
ωf(i
,v)×
lii(
n⋅l)
dωil_(v) = \int_ f(i,v) \times l_i(n \cdot l) d\omega_i
lo(v)
=∫ω
f(i,
v)×l
ii(
n⋅l)
dωi
l是輻射率用來量化光.輻射率是單位面積, 單位方向上光源的輻射量.
在渲染中, 我們通常會基於表面入射光線的入射輻射率l
il_i
li來計算出射輻射率l
ol_o
lof(i
,v)f(i,v)
f(i,v)
表示有多少部分能量被反射到了觀察方向v上,
n ⋅l
n \cdot l
n⋅l表示入射方向在當前微表面的投影.
f la
mber
t=cd
iffπ
f_ = \frac}
flambe
rt=
πcdi
ff
c di
ffc_cd
iff
表示漫反射光線所佔的比例, 通常也被稱為漫反射的顏色.
所以我們見到的余弦項(即n⋅l
n \cdot l
n⋅l) 是反射等式的一部分, 而不是brdf的一部分.
f 除以
πf除以\pi
f除以π
是我們假設漫反射在所有方向上強度相同, 而brdf要求在半球內部積分為1
所以, 給定入射方向i的光源, 漫反射的輻射率為
l di
ff=c
diff
π×li
(n⋅i
)l_ = \frac} \times l_i(n \cdot i)
ldiff
=πcd
iff
×li
(n⋅
i)s pe
c(i,
v)=f
(i,h
)g(i
,v,h
)d(h
)4(n
,i)(
n,v)
f_(i,v) = \frac
fspec
(i,v
)=4(
n,i)
(n,v
)f(i
,h)g
(i,v
,h)d
(h)
d(h) 是微表面法線分布函式
g(i,v,h) 是 陰影-遮擋函式, 用於計算那麼滿足m= h的微表面中有多少會由於遮擋而不會被人眼看到, 它給出了活躍的微表面所佔的濃度
f(i,h) 菲涅爾反射函式, 它可以告訴我們有多少厚約的微表面能將入射光線反射到觀察方向上
分母是校正項
基於物理的渲染 HDR Tone Mapping
若用l x,y 表示畫素 x,y 的光亮度,則log平均值可表示為 其中,n 表示畫素個數,是乙個用於避免奇異值的常數。縮放後的光亮度 l x,y 可用如下公式表示 其中,是乙個縮放引數,被稱為key value,不同的 值對應了不同的縮放程度,如下圖所示 其中,上排中太陽被樹枝遮擋住,因此不包含高...
基於物理的渲染 迪士尼的渲染模型
今天給大家介紹的是一篇關於基於物理渲染 physically based rendering 的技術 該篇 是在2012年siggraph圖形大會上,由迪士尼公司分享的關於pbr技術的報告。pbr是最近遊戲渲染領域中比較高階的渲染管線。相比於傳統基於lambert以及phong模型的渲染管線,pbr...
Unity Shader 基於物理的渲染技術
光是一種電磁波,由光源發射出來,與物體相交,一部分被吸收轉化為其他能量,而另一些被散射,最後被感應器 如眼睛 吸收成像 吸收 改變光的能量,不改變光的方向 散射 不改變光的能量,改變光的方向 影響光的乙個重要的特質就是物體材質的折射率 drdf可以用f l,v 來表示,l是入射方向,v是觀察方向 乙...