笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。
CSDN视频网址:http://edu.csdn.net/lecturer/144
继续接着上一篇博客基于物理的渲染技术(PBR)系列二中的讲解,
BRDF ,或者说 双向反射分布函数 ,它接受入射(光)方向 ωi ,出射(观察)方向 ωo ,平面法线 n 以及一个用来表示微平面粗糙程度的参数 a 作为函数的输入参数。BRDF可以近似的求出每束光线对一个给定了材质属性的平面上最终反射出来的光线所作出的贡献程度。举例来说,如果一个平面拥有完全光滑的表面(比如镜面),那么对于所有的入射光线 ωi (除了一束以外)而言BRDF函数都会返回0.0 ,只有一束与出射光线 ωo 拥有相同(被反射)角度的光线会得到1.0这个返回值。
BRDF基于我们之前所探讨过的微平面理论来近似的求得材质的反射与折射属性。对于一个BRDF,为了实现物理学上的可信度,它必须遵守能量守恒定律,也就是说反射光线的总和永远不能超过入射光线的总量。严格上来说,同样采用 ωi 和 ωo 作为输入参数的 Blinn-Phong光照模型也被认为是一个BRDF。然而由于Blinn-Phong模型并没有遵循能量守恒定律,因此它不被认为是基于物理的渲染。现在已经有很好几种BRDF都能近似的得出物体表面对于光的反应,但是几乎所有实时渲染管线使用的都是一种被称为 Cook-Torrance BRDF 模型。
Cook-Torrance BRDF兼有漫反射和镜面反射两个部分:
fr=kdflambert+ksfcook−

本文详细介绍了基于物理的渲染技术(PBR)中的Cook-Torrance BRDF模型,包括漫反射和镜面反射的数学原理,如Lambertian漫反射、正态分布函数(NDF)、菲涅尔方程和几何函数,并通过GLSL代码展示了其实现细节。
最低0.47元/天 解锁文章
969

被折叠的 条评论
为什么被折叠?



