PBR系列 - 物理光源

作者:游梦

许多朋友对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.youkuaiyun.com/qq_32071849/article/details/107761896)

(图源:辐射度量学、光度学、BRDF_光度学辐射量-优快云博客

1.2 色温

色温是表示光线中包含颜色成分的一个计量单位。从理论上说,黑体温度指绝对黑体绝对零度(-273℃)开始加温后所呈现的颜色。黑体在受热后,逐渐由黑变红,转黄,发白,最后发出蓝色光。当加热到一定的温度,黑体发出的光所含的光谱成分,就称为这一温度下的色温,计量单位为“K”(开尔文)。

(色温示意图,图源:色温与颜色关系 - 知乎

二、物理光源

2.1 光度学概念及常见名词

物理光源是指在三维渲染过程中,按照自然光或人造光的真实物理特性和行为来建模的光源类型,常见的光源类型有点光源、平行光、聚光灯以及面光源。下面图表是在光度学中较为常见的专业名词与解释:

(图源:什么是光通量?怎么区分光强、光通量、照度、亮度?

2.2 光度学应用

物理光源相关概念虽然比较晦涩难懂,但实际在使用时很简单。先回顾下Blinn-Phong光照模型:

(Blinn-Phong示意图,图源:[CG]简单光照模型 - 知乎

图中 红色标记框中的I 代表的是光照强度,通常是给一个任意数值,光照强度衰减也是简单的使用除以光源到像素点距离的平方表示,与现实光照强度不契合。下面小编举例说明如何使用物理光源参与光照计算:

例如下图白炽灯功率60W约540lm,色温是2800K,光源到o点距离为r,把白炽灯抽象成一个点光源,那么光照的颜色可以通过色温计算,具体算法参照色温(Kelvin)到RGB的转换:算法和样例_色温转rgb-优快云博客,下图o点所接收到白炽灯直射一束光线亮度I的计算如下:

I = 540 / (4 * π * r * r)

分母4 * π * r * r的由来是因为以光源为圆心,光源到o点距离为半径的圆面积是4 * π * r * r,简单理解为540lm的光照均匀发散,经过o点的数值就是 540lm / 面积,所以离光源越远衰减越大,Blinn-Phong中的衰减与距离的平方有关就是由此而来。

(图源:辐射度量学、光度学、BRDF_光度学辐射量-优快云博客

由于着色器存在数值精度限制,所以见不到这种算法,是因为需要配合物理相机进行预曝光,把光照强度数值控制在着色器可计算与显示器可显示的精度内。上面计算公式中的除数其实就是简单光照模型中光的衰减因子。

通常用平行光模拟太阳光或者环境光时,可以参考如下表格:

(图源:日光色温变化参数表 - 道客巴巴

(图源:一天各个时间段的光照度,各种天气环境下的光照度是多少? - 知乎

(正午的太阳渲染效果图,图源:Mapmost SDK for UE)

(下午的太阳渲染效果图,图源:Mapmost SDK for UE)

(傍晚的太阳渲染效果图,图源:Mapmost SDK for UE)

参考文献:
辐射度量学、光度学、BRDF_光度学辐射量-优快云博客
什么是光通量?怎么区分光强、光通量、照度、亮度?
日光色温变化参数表 - 道客巴巴
一天各个时间段的光照度,各种天气环境下的光照度是多少? - 知乎
All articles - Blog | Chaos


 关注Mapmost,持续更新GIS、三维美术、计算机技术干货

Mapmost是一套以三维地图和时空计算为特色的数字孪生底座平台,包含了空间数据管理工具(Studio)、应用开发工具(SDK)、应用创作工具(Alpha)。平台能力已覆盖城市时空数据的集成、多源数据资源的发布管理,以及数字孪生应用开发工具链,满足企业开发者用户快速搭建数字孪生场景的切实需求,助力实现行业领先。

欢迎进入官网体验使用:Mapmost——让人与机器联合创作成为新常态

<think> 我们正在讨论物理渲染(PBR)的原理、应用及技术细节。根据引用内容,PBR是一种基于物理定律的渲染技术,旨在生成逼真的图像。其核心是模拟真实世界的光照和材料属性,确保在不同光照条件下保持视觉一致性。 原理部分: PBR基于物理定律,特别是光的反射和散射。它使用BRDF(双向反射分布函数)来描述光线如何从表面反射。引用[1]提到PBR的基本原理,引用[2][3]提到它通过物理模型计算光照材质的相互作用。 技术细节: - 材质参数:包括金属度(metallic)、粗糙度(roughness)等。 - 光照计算:使用复杂的数学模型,如渲染方程。 - 渲染管线:涉及HDR、色调映射、全局光照等技术(引用[3])。 应用: 在Unity中,PBR通过设置材质属性和使用高质量纹理实现逼真效果(引用[2])。在Monado引擎中,PBR提升了虚拟现实游戏的沉浸感(引用[3])。 现在,我们按照用户要求的格式组织答案,包括使用$...$和$$...$$表示数学公式,添加引用标记,并生成相关问题。 </think> ### 物理渲染(PBR)技术解析 #### 一、PBR核心原理 物理渲染基于真实物理定律模拟光与材质的交互: 1. **能量守恒原则** 入射光能$ E_i $ = 反射光能$ E_r $ + 吸收光能$ E_a $ $$ E_i = E_r + E_a $$ 确保场景中光线行为符合真实世界规律[^1][^3] 2. **双向反射分布函数(BRDF)** 核心函数$ f_{\text{BRDF}} $精确描述光线反射行为: $$ f_{\text{BRDF}}(l, v) = \frac{dL_o(v)}{dE_i(l)} $$ 其中$ l $为入射方向,$ v $为观察方向,$ L_o $为出射辐射率[^1][^3] 3. **材质属性物理化** | 参数 | 物理意义 | 取值范围 | |-------------|---------------------------|----------| | 金属度 | 电子自由移动程度 | [0,1] | | 粗糙度 | 表面微结构无序度 | [0,1] | | 高光反射 | 非金属表面菲涅尔反射 | [0.02,0.08] | | 基底色 | 纯材质吸收光谱特性 | RGB向量 | #### 二、关键技术实现 ```mermaid graph LR A[PBR渲染管线] --> B[材质预处理] A --> C[实时光照计算] A --> D[后处理优化] B --> B1(法线贴图烘焙) B --> B2(粗糙度图生成) C --> C1(IBL环境光卷积) C --> C2(实时光追) D --> D1(HDR色调映射) D --> D2(屏幕空间反射) ``` 1. **材质工作流**(Unity URP/HDRP实践) - **金属/粗糙度流程**: ```glsl vec3 F0 = mix(vec3(0.04), albedo, metallic); vec3 F = fresnelSchlick(max(dot(H, V), 0.0), F0); ``` - **镜面反射/光泽度流程**:分离高光与漫反射控制[^2] 2. **光照计算优化** - 环境光采用预计算辐照度图:$ L_{\text{env}} = \frac{1}{N}\sum_{i=1}^{N} L_i \cdot \max(\cos\theta_i, 0) $ - 实时点光源使用Cook-Torrance模型: $$ f_{\text{cook-torrance}} = \frac{D \cdot F \cdot G}{4(\omega_o \cdot n)(\omega_i \cdot n)} $$ 3. **移动端特殊优化**(URP方案) - 简化BRDF:Karis近似公式替代完整积分 - 纹理压缩:ASTC 6x6替代RGBA32 - 烘焙光照贴图减少实时计算[^2] #### 三、跨领域应用案例 1. **VR沉浸感增强**(Monado引擎) - 动态环境反射:$ R_{\text{env}} = \text{cubemap}( \text{reflect}(-V, N) ) $ - 眼球追踪优化:注视点区域采用全精度PBR[^3] 2. **影视级渲染**(HDRP管线) - 光线步进体积光:$ \tau(x) = \int_{0}^{d} \sigma_t \cdot L(x+t\omega) e^{-\int_{0}^{t}\sigma_t ds} dt $ - 16K HDR输出配合ACES色彩空间 3. **开放世界优化** - 分块式延迟渲染降低带宽 - 动态材质LOD:$ \text{精度} = k \cdot \frac{1}{\Vert P_{\text{cam}} - P_{\text{obj}} \Vert^2} $ > PBR核心价值:**通过物理正确性保证材质在任意光照场景下的视觉一致性**,避免传统渲染中手动调整参数的试错成本[^1][^2][^3] ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值