基于微面元的阴影函数与实时光线追踪阴影技术
1. 基于微面元的阴影函数解决凹凸终结者问题
在图形渲染中,凹凸映射可能会导致光照辐照度的自然余弦衰减发生畸变,使得亮区过度延伸到阴影区,而且由于渲染器无法感知虚拟表面的高度场阴影,光线会突然消失,产生类似卡通的效果,这并非艺术家所期望的平滑过渡。
1.1 方法概述
为了解决这个问题,采用了Smith阴影方法进行凹凸映射。该方法仅对掠射角的散射能量进行缩放,能在不改变其他部分外观的情况下,使亮区和暗区优雅地过渡。不过,其推导需要知道法线分布,这里假设法线分布是随机且正态分布的,虽然实际情况并非如此,但在阴影处理中效果良好。
1.2 法线分布
- 选择GGX分布 :GGX分布因其简单性和高效实现性被选中。它有一个粗糙度参数α,用于调节微面元斜率的分布。轻微的凹凸效果对应低粗糙度α,强烈的凹凸对应高α。
- 计算α参数 :不通过纹理映射来计算α,而是在光照时根据接收到的凹凸法线进行局部估计。具体做法是观察凹凸法线与真实表面法线形成的发散角的正切值,将其等同于正态分布的两个标准差,然后用GGX替代,得到如下阴影项公式:
[G_1 = \frac{2}{1 + \sqrt{1 + \alpha^2 \tan^2 \theta_i}}]
其中,(\theta_i) 是入射光方向与真实表面法线的夹角。 - 计算GGX的α :GGX基于柯西分布,其均值和方差未定义。通过数值计算发现,若忽略长尾以保留大部分分布质量,(\si
超级会员免费看
订阅专栏 解锁全文

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



