分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
本文由@浅墨_毛星云 出品,转载请注明出处。
文章链接: http://blog.csdn.net/poem_qianmo/article/details/75943714
在计算机图形学中,BRDF(Bidirectional Reflectance Distribution Function,双向反射分布函数)是真实感图形学中最核心的概念之一,它描述的是物体表面将光能从任何一个入射方向反射到任何一个视点方向的反射特性,即入射光线经过某个表面反射后如何在各个出射方向上分布。BRDF模型是绝大多数图形学算法中用于描述光反射现象的基本模型。
这篇文章,将专注于总结和提炼《Real-Time Rendering 3rd》(实时渲染图形学第三版)中第七章“Advanced Shading · 高级着色”的内容,并对这章中介绍BRDF的内容进行适当补充和引申,构成全文,成为一个对BRDF进行系统总结的文章。
图1 基于BRDF渲染的场景图 ©Disney 2014.《超能陆战队》
一、导读
简而言之,通过阅读这篇总结式文章,你将对BRDF的以下要点有所了解:
- 一、BRDF的前置知识 · 数学篇
- 球面坐标 Spherical Coordinate
- 立体角 Solid Angle
- 投影面积 Foreshortened Area
- 二、BRDF前置知识 · 辐射度量学篇
- 辐射度量学基本参数表格
- 辐射通量/光通量 Radiant Flux
- 辐射强度/发光强度 Radiant Intensity
- 辐射率/光亮度 Radiance
- 辐照度/辉度 Irradiance
- 三、BRDF的概念
- BRDF的定义式
- BRDF的非微分形式
- BRDF与着色方程
- BRDF的可视化表示
- 四、BRDF的性质
- 亥姆霍兹光路可逆性
- 能量守恒性质
- 线性特征
- 五、BRDF模型的分类
- BRDF经验模型
- 数据驱动的BRDF模型
- 基于物理的BRDF模型
- 六、基于物理的BRDF · 前置知识
- 次表面散射 Subsurface Scattering
- 菲涅尔反射 Fresnel Reflectance
- 微平面理论 Microfacet Theory
- 七、基于物理的BRDF · 常见模型
- Cook-Torrance BRDF模型
- Ward BRDF模型
- 八、BRDF与其引申
- BSSRDF
- SBRDF(SVBRDF)
- BTDF与BSDF
二 、BRDF前置知识· 数学篇
在正式了解BRDF的概念之前,有必要先了解数学和辐射度量学相关的前置基础知识。
2.1 球面坐标 SphericalCoordinate
由于光线主要是通过方向来表达,通常用球面坐标表达它们比用笛卡尔坐标系更方便。
如图,球面坐标中的向量用三个元素来指定:
图2 球面坐标
其中:
- r表示向量的长度
- θ表示向量和Z轴的夹角
- Φ表示向量在x-y平面上的投影和x轴的逆时针夹角。
2.2 立体角 Solid Angle
立体角描述了从原点向一个球面区域张成的视野大小,可以看成是弧度的三维扩展。
图3 立体角
我们知道弧度是度量二维角度的量,等于角度在单位圆上对应的弧长,单位圆的周长是2π,所以整个圆对应的弧度也是2π 。立体角则是度量三维角度的量,用符号Ω表示,单位为立体弧度(也叫球面度,Steradian,简写为sr),等于立体角在单位球上对应的区域的面积(实际上也就是在任意半径的球上的面积除以半径的平方ω= s/r2 ),单位球的表面积是4π ,所以整个球面的立体角也是4π 。
图4 立体角
立体角ω有如下微分形式:
其中dA为面积微元。而面积微元dA在球面坐标系下可以写成:
因此:
2.3 投影面积 Foreshortened Area
投影面积描述了一个物体表面的微小区域在某个视线方向上的可见面积。
对于面积微元A,则沿着与法向夹角为θ方向的A的可见面积为:
图5 投影面积
三、BRDF前置知识· 辐射度量学篇
3.1 辐射度量学基本参数表格
如下是截取的wiki(https://en.wikipedia.org/wiki/Radiometry)上的辐射度量学国际单位制的辐射量参数表格: