作者:游梦
许多朋友对PBR材质这一术语耳熟能详,但可能不了解其在基于物理的渲染(Physically Based Rendering, PBR)领域中的学术称谓——物理材质。实际上,PBR的世界不仅仅包含物理材质,还涵盖了物理光源和物理相机。这三者共同构成了一个完整的系统,从光源的发射开始,经过光线的传播,最终到达接收光线的设备,形成了一个闭环,其本质上是在围绕光线做研究。
一、知识点预置:
1.1 立体角
立体角(Solid Angle,常用字母Ω表示)定义为以圆锥体的顶点为球心,半径为1的球面被锥面所截得的面积来度量的,度量单位称为“立体弧度”(steradian,缩写为 sr )。立体弧度,又称球面弧,可以看作三维的弧度,是立体角的国际单位。例如一个球的球面度是4π,一个椭球的球面度也是4π。
(图源:百度图片)
如上图:立体角虽然带角这个字眼,但是对应的是二维平面中弧度的概念,
弧度 = 周长(l) / 半径(r)
立体角 = 球面面积(S) / (r * r)
所以根据球面公式(S = 4 * π * r * r)可以计算出一个球的球面度是4π,一个椭球的球面度也是4π。
单位立体角:是立体角微分的一个概念名称,计算公式如下图,推导过程可参阅相关博文:
(单位立体角计算公式,图源:https://blog.csdn.net/qq_32071849/article/details/107761896)
(图源:辐射度量学、光度学、BRDF_光度学辐射量-CSDN博客)
1.2 色温
色温是表示光线中包含颜色成分的一个计量单位。从理论上说,黑体温度指绝对黑体从绝对零度(-273℃)开始加温后所呈现的颜色。黑体在受热后,逐渐由黑变红,转黄,发白,最后发出蓝色光。当加热到一定的温度,黑体发出的光所含的光谱成分,就称为这一温度下的色温,计量单位为“K”(开尔文)。
(色温示意图,图源:色温与颜色关系 - 知乎)
二、物理光源
2.1 光度学概念及常见名词
物理光源是指在三维渲染过程中,按照自然光或人造光的真实物理特性和行为来建模的光源类型,常见的光源类型有点光源、平行光、聚光灯以及面光源。下面图表是在光度学中较为常见的专业名词与解释:
2.2 光度学应用
物理光源相关概念虽然比较晦涩难懂,但实际在使用时很简单。先回顾下Blinn-Phong光照模型:
(Blinn-Phong示意图,图源:[CG]简单光照模型 - 知乎)
图中 红色标记框中的I 代表的是光照强度,通常是给一个任意数值,光照强度衰减也是简单的使用除以光源到像素点距离的平方表示,与现实光照强度不契合。下面小编举例说明如何使用物理光源参与光照计算:
例如下图白炽灯功率60W约540lm,色温是2800K,光源到o点距离为r,把白炽灯抽象成一个点光源,那么光照的颜色可以通过色温计算,具体算法参照色温(Kelvin)到RGB的转换:算法和样例_色温转rgb-CSDN博客,下图o点所接收到白炽灯直射一束光线亮度I的计算如下:
I = 540 / (4 * π * r * r)
分母4 * π * r * r的由来是因为以光源为圆心,光源到o点距离为半径的圆面积是4 * π * r * r,简单理解为540lm的光照均匀发散,经过o点的数值就是 540lm / 面积,所以离光源越远衰减越大,Blinn-Phong中的衰减与距离的平方有关就是由此而来。
(图源:辐射度量学、光度学、BRDF_光度学辐射量-CSDN博客)
由于着色器存在数值精度限制,所以见不到这种算法,是因为需要配合物理相机进行预曝光,把光照强度数值控制在着色器可计算与显示器可显示的精度内。上面计算公式中的除数其实就是简单光照模型中光的衰减因子。
通常用平行光模拟太阳光或者环境光时,可以参考如下表格:
(图源:日光色温变化参数表 - 道客巴巴)
(图源:一天各个时间段的光照度,各种天气环境下的光照度是多少? - 知乎)
(正午的太阳渲染效果图,图源:Mapmost SDK for UE)
(下午的太阳渲染效果图,图源:Mapmost SDK for UE)
(傍晚的太阳渲染效果图,图源:Mapmost SDK for UE)
参考文献:
辐射度量学、光度学、BRDF_光度学辐射量-CSDN博客
什么是光通量?怎么区分光强、光通量、照度、亮度?
日光色温变化参数表 - 道客巴巴
一天各个时间段的光照度,各种天气环境下的光照度是多少? - 知乎
All articles - Blog | Chaos
关注Mapmost,持续更新GIS、三维美术、计算机技术干货
Mapmost是一套以三维地图和时空计算为特色的数字孪生底座平台,包含了空间数据管理工具(Studio)、应用开发工具(SDK)、应用创作工具(Alpha)。平台能力已覆盖城市时空数据的集成、多源数据资源的发布管理,以及数字孪生应用开发工具链,满足企业开发者用户快速搭建数字孪生场景的切实需求,助力实现行业领先。