但是球谐函数处理低频信息更好(意思是更适合处理漫反射或者是粗糙度比较大的光泽反射),因为对于纯镜面反射而言,我们需要非常高阶的球谐函数才能进行逼近,那计算量实在是太大了。
Spherical Harmonics(SH)的推导过程我认为太复杂,没必要深究,前人种树后人会用就好,本文的目的是解释什么是SH,有什么用途,具体怎么
使用。
Spherical Harmonics(SH),实际上就是一组基函数。
什么叫基函数
基函数是函数空间
中特定基底的元素,函数空间
中的每个连续函数可以表示为基函数的线性组合,就像
中的每个向量可以表示为基向量的线性组合一样。
球谐光照是基于预计算辐射度传输(precompute radiance transfer, PRT)理论实现的一种实时渲染级技术。预计算辐射度传输技术能够实时重现在区域面光源照射下的全局照明效果。
这种技术通过在允许运行前对场景中光线的相互作用进行预计算,计算场景中每个物体表面点的光照信息,然后用球谐函数(spherical harmonic lighting)对这些预计算的光照信息数据进行编码,...
一.原理
球谐光照实际上是一种对光照的简化,对于空间上的一点,受到的光照在各个方向上是不同的,也即各向异性,所以空间上一点如果要完全还原光照情况,那就需要记录周围球面上所有方向的光照。注意这里考虑的周围环境往往是复杂的情况,而不是几个简单的光源,如果是那样的话,直接用光源的光照模型求和就可以了。
如果环境光照可以用简单函数表示,那自然直接求点周围球面上的积分就可以了。但是通常光照不会那么简单,...
Spherical Harmonic Lighting(球谐光照)
Robin Green
这篇文章只是Spherical Harmonic Lighting这个论文的解释,看的时候请参照原文,原文需要一定的数学与信号处理,对于基础一般的朋友可能稍有难度,所以我想将其理论通俗化的讲出来,降低一些难度,希望对需要的人有所帮助。
利用球谐光照技术,能让我们实时重现面积光源下3D模
https://zhuanlan.zhihu.com/p/49436452
什么是球谐光照?什么是PRT?
那其实顾名思义,球谐光照(spherical harmonics lighting)就是基于球面调和(SH,Spherical Harmonics)这个数学工具的一种光照/着色算法。
一般来说,球谐光照可以用有限带宽的Spherical Harmonics来模拟低频的环境光照明,反射光和高光...
预先计算的辐照度值通常与漫反射颜色或反照率映射相乘,存储在一个单独的纹理集。虽然从理论上讲,出射度(辐照度时间漫反射颜色)可以预先计算并存储在一组纹理中,但在大多数情况下,许多实际考虑排除了这种选择。颜色映射通常是相当高的频率,它们利用各种各样的平铺,并且它们的部分经常在模型中重复使用,所有这些都是为了保持合理的内存使用。辐照度值通常要低得多,而且不容易重复使用。将光照和表面颜色分开会消耗更少的内存。
除了最严格的硬件平台外,现在很少使用预先计算的辐照度。根据定义,辐照度是针对给定法线方向计算的,因此我们
游戏
中的
光照可以被简单分为两个部分,直接光和间接光。
直接光
中我们研究各种不同的BRDF材质,甚至BSDF,BSSSRDF等等。这些模型据有很不错的表现力,足够我们区分金属,皮肤,木头等等不同物体的着色表现。
但这并不能满足我们,因为光并不是那么简单,光会被反射,会被折射,会被透射,会被吸收,所以物体的受光情况同时又由这个场景的其他物体决定,这部分
光照同时拥有着更加富强的表现力,...