PBR與各種光照

2021-10-09 08:14:25 字數 2684 閱讀 4364

今天把pbr和各種相關的光照總結一下吧,後續還會有補充

// 迪士尼 brdf官方demo

// 幾何遮蔽

// pbr opengl

盡量看官方原始碼,否則會有很多很多坑

pbr就是brdf + ibl

字面意思翻譯就是 ,基於物理的渲染。這樣的渲染更加真實,更加寫實。

描述了入射光線經過某個表面反射後在出射方向的分布(因為眼從不同角度看,亮度是不同的。)

l是輻亮度。e是輻照度,r是反射光,i是入射光 f(l

,v)=

diff

use+

d(θh

)f(θ

d)g(

θl,θ

v)4c

osθl

cosθ

vf(l,v) = diffuse + \cfrac

f(l,v)

=dif

fuse

+4co

sθl​

cosθ

v​d(

θh​)

f(θd

​)g(

θl​,

θv​)

關於g項 也叫 v項

可以用一張圖來說明

unity是這樣的效果,左圖有幾何遮蔽 + f + d,右圖是只有 f 和 d項

雖然區別很微妙,但是左圖更加真實

我們可以看到在smooth很小的情況下(也就是很粗糙的情況),微表面是被很多突起遮擋的,所以不會這麼亮。

而右邊的結果就不對了(對比來說)

**在我的另一篇裡

i是強度,a控制高光大小

相當於對phong式光照 的乙個優化

i p=

colo

rrgb

+l∗n

+(n∗

h)α∗

ii_p = color_+ l*n+ (n * h)^*i

ip​=co

lorr

gb​+

l∗n+

(n∗h

)α∗i

fixed3 specular1 = _lightspeccolor.rgb *

pow(

max(0,

dot(worldnormal, worldhalfdir)

), _shininess1 *20)

* _specintensity1

光照與渲染(二) 光照技術

廣義的來說,unity的全域性光照是 實時 或是 預先計算好 的,在某些情況下兩種方法可以結合使用,照出更逼真的場景。本節我們會針對兩種技術的差異優勢和使用時機做個簡單的描述。實時照明 realtime lighting 預設情況下,unity的燈源 直接光源,投射燈,點光源 都是實時的,代表這些燈...

高階光照與材質之光照和反射模型

第五章講述了一些漫反射模型和鏡面反射模型的原理和數學公式 博主在unity中實現了一下,把部分結果貼在上面 有下面幾個主題 渲染公式 基本光照定義 光照和lambert法則 雙向反射分布函式brdf 漫反射材質原理簡介與模型 鏡面反射材質原理簡介與模型 對於我們眼睛可見的光對於表面的作用,他們會發生...

高階光照與材質之模擬真實世界的光照

讀書筆記第二章,加了許多博主的理解和補充。第二章講的也是基礎知識,補充了博主許多知識縫隙。介紹了四中型別光的光照模型,點光源,面光源,方向光,聚光燈,和他們的光照模型,還簡單介紹了下gi。這章的幾個topics 1.理想的點光源 2.幾何衰減 3.光照通過物質的衰減 4.方向光 5.面積光 6.聚光...