本文最后更新于 2024-07-17T18:05:59+08:00
Lecture 02 Review of Linear Algebra
对于一个 vec4,一般认为 w 分量为 1 时表示点,w 分量 为 0 时表示向量。
也符合“点 - 点 = 向量”
旋转
相机定义
Frustum 定义
- tan2fovY=∣n∣t
- aspect=tr
View 矩阵
将相机变换至“位于原点,看向 -Z,头顶为 +Y”
先移动至原点,再旋转
Mview=RviewTview
Tview=
100001000010−xe−ye−ze1
由 Rview−1=
xg×tyg×tzg×t0xtytzt0x−gy−gz−g00001
得 Rview=
xg×txtx−g0yg×tyty−g0zg×tztz−g00001
Projection 矩阵
先透视,再正交(Frustum -> 长方体 -> 正方体)
MProjection=MOrthographicMPersprctiveToOrthographic
Mp2o=
n0000n0000n+f100−nf0
MOrthographic=MrotateMtrans
Mtrans=
100001000010−2r+l−2t+b−2n+f1
Mrotate=
r−l20000t−b20000n−f200001
Viewport 视口变换
Mviewport=
2width00002height0000102width2height01
Lecture 09 Shading 3(Texture Mapping Cont.)
当重心坐标相加为 1 且全部在 [0, 1] 的范围内,即代表点在三角形内。
Lecture 13 Ray Tracing 1
求射线与 AABB 求交
- 对三个轴每一对平面,计算 tmin 与 tmax,负值也 OK。
- 对于 AABB,tenter=max(tmin),texit=min(tmax)。
- 当且仅当 tenter<texit && texit>=0 时射线与 AABB 相交。
Lecture 15 Ray Tracing 3
辐射度量学基础
Lecture 16 Ray Tracing 4
蒙特卡洛积分
Lo(p,ωo)
=∫H2Li(p,ωi)fr(p,ωi,ωo)(n⋅ωi)dωi
≈N1∑i=1Np(ωi)Li(p,ωi)fr(p,ωi,ωo)(n⋅ωi)
Light Sampling
Path Tracing
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| shade(p, wo) 均匀地采样 x' 处的光源(pdf_light = 1 / A) 如果 p 点和 x' 点之间没有遮挡 L_dir = L_i * f_r * cosθ * cosθ' / |x' - p|^2 / pdf_light
如果通过以概率 P_RR 进行的轮盘赌测试 均匀地采样半球(pdf_hemi = 1 / 2pi) 追踪光线 r(p, wi) 如果在 q 点击中非光源表面 L_indir = shade(q, -wi) * f_r * cosθ / pdf_hemi / P_RR
return L_dir + L_indir
|
Lambertian 表面的的 BRDF
Lecture 19 Cameras, Lenses and Light Fields