Direction Occlusion 环境遮挡:不对任何方向建模 下图 a,b收到的环境颜色irradiance一样 Bent Normal:有效将余弦lobe移动向天空中未被遮蔽的部分,但是积分范围却没有限制 Direction Occlusion:可以调整光照积分域。 ![]() 从上图可知道,尽管上一节所说的环境遮挡可以大大提高图像视觉质量,但他也是一种大大的简化,使用bent normal可以有效的将lobe英东向天空中未被遮挡的部分,但是他对积分范围没有收到限制,这不足以提供准确的结果,定向的方法能够正确地消除来自的天空遮挡部分的光线。 方法: 1 预先计算的方向遮挡: ![]() 把未被遮挡的方向建模名为一个椭圆形或者时圆形孔径,而不是存储某些给定方向的地平角(horizon angle)。担当未被遮挡的方向不是椭圆形,可能导致不正确的阴影。 2 方向遮挡的动态计算: Ren等人的球谐指数法。 Sloan等人的屏幕空间法产生球谐向量形式的可见性。 Crassin,Wright圆锥跟踪法。 lwanicki使用圆锥跟踪。 Klehm等人使用Zbuffer数据计算屏幕空间bent锥。 3 有方向遮挡的着色: 当我们为不同的方向遮挡提供着色方案时,我们提供的着色公式不能是单一的,具体方案取决于我们想要达到的具体效果。在反射方程中: ![]() 我们用最简单操作就是对可见性函数对点光源进行投影。由于是点光源,默认光照各项同性的。可以得到: ![]() 我们吧上面的方程定义为计算材质对未遮挡光的相应,并将结果乘以可见性函数的值。 我们可以对区域光源的照明进行类似的操作,In this case, Li除了在光线所面对的立体角内,在任何地方都等于零,在立体角内的Li等于光源发出的radiance,我们将它称为Ll,并假设他在光的立体角上是恒定的,我们可以用光的立体角的积分Ωl代替整个球面的积分Ω: ![]() ![]() 为了确定遮挡光照,我们必须计算可见性函数乘以余弦除以光线所覆盖的立体角积分。Lambertian推到了一个计算球面多边形的余弦积分公式,然而,当使用bent锥,剪切会产生圆形段,我们就不能使用Lambert公式了。 |
全局光照技术(二)
最新推荐文章于 2024-08-16 09:57:09 发布