本节内容
一. 环境光中的阴影
二. 前置知识
(1)Frequency and filtering
(2)Basis function
三. 实时的环境光
(1)Spherical Harmonics(SH : 球面谐波函数)
(2)Prefiltered env.lighting
(3)Precomputed Radiance Transfer(PRT) 作业二练习
正文
一. 环境光中的阴影

通常来说,在实时渲染里,通过环境光实现shadow较困难,提到了两方面的原因
- 多光源问题 (many-light problem)
每个光源想得到对应的阴影,需要生成对应的shadowmap,代价线性于光源的数量 - 采样的问题
在一个着色点往各个方向采集光照的情况,各个方向上的遮挡情况(Visibility term)不容易求得

所以实践中通常只生成一个或主要的两三个阴影。
环境光阴影的相关研究

Imperfect shadow maps
Lights cuts : 离线渲染领域用来解决many light问题
RTRT (Real Time Ray Tracing)
Precomputed radiance transfer(*PRT):本节相关
二.本节前置知识
1. Frequency and filtering

引入观点
两个函数相乘再积分,若两个函数中有一个是“低频的函数”,则积分的结果也是一个低频的函数。
对“低频函数”的简单定义
相对平滑,变化不大的函数
2.Basis function(基函数)
一系列函数,可以通过加权和的方式表示来其他函数,可被称为基函数。
傅里叶级数,多项式(x, x^2, x^3)都是基函数的例子

三.Real-time environment lighting(& global illumination)
1. Spherical Harmonics(SH:球谐函数)
定义:
一系列定义在球面上的二维的基函数
(可类比一维情况下的傅里叶级数)

每一阶的有(2l + 1) 个不同的SH函数, 但每一阶函数的频率相同。
环境光照下 diffuse 物体的shading 问题

结论:任何 diffuse 的材质,使用前三阶的SH来描述物体表面的光照情况,与真实情况的误差已足够小。
PRT(Precomputed Radiance Transfer)
通过预计算的方法,实时地从环境光的条件中生成阴影。

PRT 的应用场景:
假设场景中只有光照条件会发生变化,其他都是不变的(场景中的物体相对静止)。
光照变化指的是换一种光源,或者光照在场景中旋转(光源运动?)。

基于假设,可将渲染方程分为两个部分
lighting 的部分与ight transport 部分。这里将light transport 理解为shading point 本身带有的性质(包括BRDF 与 Visibility项),是不发生改变的,故而这部分可以先进行预计算。
在计算的时候将lighting 的部分使用基函数近似出来。

PRT在diffuse表面的应用

1. 因为是Diffuse表面,可将BRDF项视为常数提出
2. 将Light展开成基函数的形式,并将求和号与积分号交换(在当前PRT的情形下,可以近似认为两个符号是可交换的)
3. 积分号中的项可以做与计算,最后在运行中可以看作是光照项与常数的点乘
代价
场景是不可以动的,因为Visibility已做了与计算
SH 函数的优势

。。。。。。
本文探讨了实时渲染中环境光阴影的挑战,包括多光源问题和采样难题。介绍了球面谐波函数(SH)及其在环境光照下漫反射物体着色的应用。并深入讨论了预计算辐射传递(PRT)技术,这是一种通过预计算实现实时阴影生成的方法。
3383

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



