Spherical Harmonic Lighting(球谐光照)

球谐光照是预计算辐射传递技术,用于实时渲染高质量的阴影和光照效果。通过球谐基函数预处理和存储光照信息,利用蒙特卡洛积分近似光照方程。球谐变换在渲染中具有旋转不变性和动态光照的优势,但存在预处理计算成本高、空间占用大等问题。文章介绍了球谐光照的基本流程、光照方程、蒙特卡洛积分、球谐函数和代码实现,并探讨了其应用与局限。
摘要由CSDN通过智能技术生成

1.简介 

球谐光照是实时渲染技术中的一种,属于Precompute Radiance Transfer(PRT)的范畴。经过预处理并存储相应的信息之后,它可以产生高质量的渲染及阴影效果。球谐光照需要使用新的光照方程来代替通常的光照方程,并将该方程中的相关信息使用球谐基函数来投影到频度空间,并用系数进行表示(该变换与信号处理中的Fourier变换同样的道理)以一定的方式存储。在渲染的过程中就结合球谐变换的特性以及这些预先存储的系数信息来对原始的光照方程进行还原并对场景进行着色。这个过程是对无限积分进行有限近似的过程,但是通常却可以得到较为理想的效果。当然,球谐函数也具有很多神奇的特性(比如旋转不变性,rotation invariant),这些特性就为其在渲染以及其它领域中的应用又带来很多优势。之前关注的三维模型检索以及特征值的提取就同样可以借助于球谐变换来对3D模型进行基于内容的特征分析与变换(3D model & Spherical Harmonic & moments),效果也非常好。一般来说使用球谐变换的特性可以得到一定程度上动态的光照渲染效果,比如场景或环境光的旋转等。但是场景中的相对物体却不能实现动态的变化,这是由于对整个场景的预处理是与其在空间场景中的位置相关的。当然,近年来的一些研究也都已经把这些个问题作为相应的研究方向,比如对光照方程进行更为多样、合理的分解等。

综合说来球谐光照的基本框架如下所述:
连续的光照方程 -> 离散的光照方程  ->  分解后的光照方程  ->  球谐变换得到球谐系数 ->  利用球谐系数还原光照方程

2. 光照方程

球谐光照分析与变换中常用的光照模型通常如下式所示:

该光照方程较为复杂但却典型,经常出现在各种基于物理渲染染的文章中(可以研究下Physcially based Rendering中相关章节的内容深入理解下)。作为球谐变换光照的基本切入点,需要对这一光照方法进行简单的解析,其中的积分下标表述了对应的积分空间,在实际中即为当前点的法线方向所对应到的一个半球空间。其余各项:
  为点x处在w方向上的光密度;
  为物体自身在点x处发出的光线;
为表面上x处的BRDF,它将从wi方向上进入到该点的光反射并变换到wo方向上;
 为从其它物体上的点x'处沿wi方向到达的光线;
  为两x,x'间(分别属于不同的物体)的几何关系;
 为两点x,x'间的可见性关系,取值为0或1。

有了光照方程之后如何对其求解就成为渲染的关键。很显然,为了效率不能对这样的一个积分方程进行直接求解,因而这里就需要用到基于随机化算法的蒙特卡洛积分方法。

3. 蒙特卡洛积分

随机化方法是各个科研领域中经常用到的一种方法,毕竟神奇的自

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值