1.菲涅尔效应
2.反射率
3.几何遮挡
1.菲涅尔效应
1).菲涅尔效应简介微表面理论决定了反射光线的"分布形状"(集中还是散开), 而菲涅尔效应决定了在特定观察角度下, 有多少光线会被"反射"而不是被"吸收或折射"
2).理解菲涅尔效应a.菲涅尔效应的核心描述是: 你观察物体表面的角度, 会影响它的反射强度- 当你垂直看向一个表面时: 反射率低, 你更容易看到表面的本色(漫反射颜色)- 当你以非常倾斜的角度看向同一个表面时: 反射率会急剧增加, 表面会变得像镜子一样, 几乎完全显示周围环境的影像b.举几个生活中的例子- 看地上的水坑: 你垂直往下看, 能看到水底(反射弱, 投射强); 当你看到远处的水坑时, 它几乎像一面镜子, 倒映着天空和树木(反射极强)- 油漆过的木头桌子: 正面看是木头的颜色和纹理, 从几乎平行的角度看, 桌子上会出现明显的高光
PBR使用一个F0的参数, 即"基础反射率", 它表示光线垂直入射时的反射率a.对于非金属(绝缘体): 如塑料, 木头, 石头, 它们的F0值很低(通常在2% - 5%左右, 接近灰色); 但当视角变得很倾斜时, 它们的反射率会迅速增加到100%b.对于金属: 如金, 铜, 铁, 它们本身的F0值就很高(通常超过50%), 并且带有颜色; 金属的菲涅尔效应变化相对不那么剧烈, 因为它从一开始反射就很强
2.反射率
在普通人的认知中:a.颜色值 = 我们看到的颜色(比如红色, 蓝色)b.反射率 = 一个物理百分比(比如4%)但在PBR渲染中, 这两个概率是同一件事情的不同表达
在PBR渲染的数学世界里: 渲染中RGB值就是在描述反射率的百分比a.RGB(1.0, 1.0, 1.0)不单表示"红色"- 红色通道反射100%的光, - 绿色通道反射0%- 蓝色通道反射0%b.RGB(0.04, 0.04, 0.04)表示红色通道反射4%的光, 绿色通道反射4%, 蓝色通道反射4%物理上的反射率是40%直接对应渲染中的颜色值(0.4, 0.4, 0.4)
3.几何遮挡
1).核心问题: 微表面理论的"漏洞"微表面理论把表面看作无数个微小的完美镜面, 但这里有一个隐含的理想化假设: 所有这些微小镜面都能无障碍地接受到光线, 并且反射出的光线也能无障碍地到达我们的眼睛; 现实中, 这种情况不会发生的, 因为表面是凹凸不平的, 这就引出了两个问题:a.遮挡: 一个微小的凸起可能会挡住它身后的凹陷, 是的凹陷处的镜面无法被光线照到b.遮蔽: 一个微小的凸起可能会挡住它身后的凹陷, 使得即使凹陷的镜面反射了光线, 这束光线也无法到达你的眼睛如果没有几何遮挡函数, 渲染结果会异常地亮, 因为模型会错误地计算所有微观表面的贡献, 忽略了那些实际上被遮挡/遮蔽而无法参与工作的表面
2).几何遮挡函数的作用几何遮挡函数它的核心作用: 计算由于表面微观几何的凹凸不平而导致的光线被遮挡或遮蔽的比例, 从而修正反射光线的强度; 简单的说, 它是一个打折系数, 取值范围是[0, 1]a.1表示这个微表面完全可见, 光线进出无阻, 100%贡献强度b.0表示这个微表面完全被挡住, 光线无法进入或射出, 贡献为0c.0.5表示有一半的可能性被挡住, 贡献强度打五折
3).一个生动的比喻: 山坡上的观众想象你在一个起伏不平的山坡(宏观表面)上看一场音乐会, 山坡上站满了观众(微观平面); 舞台上的歌手是光源, 你是相机a.情况A: 光滑表面(平坦的广场)所有观众都在一个平面上, 没有人挡着别人, 每个人都能看到歌手, 你也能看到每个观众; 几何项 = 1, 无需打折b.情况B: 粗糙表面(真实的山坡)- 阴影: 一个高个子观众(微观凸起)可能挡住他前面的矮个子观众, 导致矮个子观众看不到歌手(光源被遮挡)- 遮蔽: 同样, 这个高个子观众也可能挡住他前面的矮个子观众, 导致你看不到那个矮个子观众(反射光线被遮蔽)c.几何遮挡函数就像一个聪明的统计员, 它会计算:"在这个崎岖的山坡上, 考虑到歌手的位置和我的位置, 究竟有多少比例的观众既能看到歌手, 又能被我看到这个统计员最后会告诉你一个系数, 比如0.7; 意思是:"只有70%的观众能有效地参与这场光影传递, 所以整""体的视觉效果(亮度)应该按这个比例打折"