zhouqijie

第一部分、简介

基于物理的渲染(PBS),是为了进行更真实的材质/光照建模。

Unity5加入了Standard Shader,这是一个基于物理的光照模型。

第二部分、PBS理论基础

光和微表面模型:

双向反射分布函数(BRDF):

概念:

特殊情形:

◉BRDF漫反射项:

Lambert模型:

$f_{lambert}(l,v) = {{c_{diff}} \over {\pi}}$

Disney模型(Unity使用的模型):

◉BRDF高光反射项:

在基于物理的渲染中,BRDF的高光反射项大多数都是建立在微表面理论假设上的。光和微表面相交,分成两个方向反射和折射,在BRDF中只考虑反射光线,折射光线已经在漫反射中考虑过了。

基于微表面理论的高光反射项

$f_{spec} = {{F(l,h)G(l,v,h)D(h)} \over {4(n·l)(n·v)}}$

不同部分的实现模型:

法线分布函数模型:

阴影-遮蔽函数模型:

※Unity使用的PBS实现:

$D_{GGX} = {{α^2} \over {\pi((α^2 - 1)(n·h)^2 + 1)^2}}$
($α = roughness^2$)

$G(l,v,h) = {{1} \over {((n·l)(1 - k) + k)((n·v)(1 - k) + k)}}$
(其中$k = {{roughness^2} \over {2}}$)

( The End )