Lecture 6
SH for diffuse transport
Lecture 7关于
SH for glossy transport
三维空间全局光照
diffuse case和glossy case的区别
在Lambertian模型中,BRDF是一个常数
diffuse case 跟outgoing point无关
glossy case 跟outgoing point有关 (Glossy就是介于Specular和Diffuse中间的)
“Wavelet” 小波函数
小波变换原理:一次讲透小波变换原理,全新角度切入,20分钟时长警告!_哔哩哔哩_bilibili
dot product<->Similarity
基函数(Basis Functions)
-
球谐函数(Spherical Harmonics, SH):低频光照(如环境光、漫反射)。
-
小波(Wavelets):适合表示高频细节(如硬阴影、镜面反射)。
-
“Interreflections” 指的是相互反射,通常用于描述光线在多个表面之间的多次反射现象
光照探针和反射探针
成组的光照探针,动态物体靠近探针时,把周围几个探针记录的数据插值。
「实战系统课」:Unity光照探针快速上手_哔哩哔哩_bilibili
Recap: PRT
Lo(p,ωo)=∫Ω+Li(p,ωi)fr(p,ωi,ωo)cosθiV(p,ωi)dωi
Li(p,ωi):Lighting(光源):从方向 ωi进入点 p 的光的亮度
fr(p,ωi,ωo)cosθiV(p,ωi)dωi:通俗点说,Light Transport(光传输) 就是描述 光线如何从一个地方到达另一个地方的过程,但不包括光的源头(光源)。
可以把它想象成:
💡 光源 就像太阳、灯泡,它们是光的起点。
🪞 光传输 就是光线在物体表面上如何被 反射、折射、吸收,以及是否被 遮挡(投影阴影)。
Recap:反射方程
总结
这个公式的作用是:
- 收集所有入射光 Li
- 考虑材质的反射方式 fr
- 考虑光照角度 cosθi
- 检查是否有遮挡 V(p,ωi)
- 对所有可能的入射方向进行求和,得到最终的出射光 Lo(p,ωo)
通俗比喻
- Li → 有哪些光源在照亮这个点?
- fr → 这个表面是镜子、墙壁,还是金属?
- cosθi→ 光是正着照还是斜着照?
- V(p,ωi) → 这个方向的光有没有被挡住?
- 积分 ∫Ω+(...)dωi → 计算所有方向上的光照贡献,得到最终的颜色。
这个公式在 全局光照 和 预计算辐射传输(PRT) 中非常重要,因为它描述了光线如何在场景中传播,并且决定了每个点的最终颜色。
Recap:球谐投影(Spherical Harmonics Projection)
f(x) = ∑ᵢ cᵢ ⋅ Bᵢ(x)
公式解释
- f(x):原始的2D函数,可以是光照信息、颜色分布、阴影等。
- Bᵢ(x):一组基函数(Basis Functions),这些基函数是球谐函数(Spherical Harmonics,SH)。
- cᵢ:投影系数(Coefficients),代表了函数 f(x)f(x)f(x) 在每个基函数 Bi(x)B_i(x)Bi(x) 上的权重。
三维空间全局光照
realtime rendering中实现比直接光照多弹射一次的间接光照
次级光源secondary light source
真正光源primary light source
one-bounce global illumination (dir+indir)
得到p的间接光照
how
1)哪些算次级光源=which surface patches are directly lit (shadow mapping可以得到这个信息)
2)这些patches如何贡献给点p
假设:所有反射直接光照的reflector是diffuse的(不用管最后接收到的表面是不是)
这篇破笔记从2.3号写到2.5号