<aside>

Path Tracing 是实现正确的 Ray Tracing.

Yes, almost 100% correct, a.k.a. PHOTO_REALISTIC

</aside>

<aside>

我录了一个费曼式学习的手写视频 BV1qfi9BuEhT ,从辐射度量学到路径追踪。

</aside>

<aside>

Assignment 7

</aside>

https://github.com/Crispher/MCRayTrace

## NOTE:施工中

辐射度量学 > 渲染方程 > 数值求解积分的蒙特卡洛方法 > 路径追踪 (对光源直接采样 & 俄罗斯轮盘赌来解决无线队规问题)

Monte Carlo Integration

蒙特卡洛积分

image.png

直观理解

给任意一个函数,计算定积分会得到一个数值。假如一个函数本身非常复杂,数学上求解析式几乎不可能(渲染方程就是一个栗子)。那么我们可以使用一种数值法,反正把最后的值求出来差不多就行。

蒙特卡洛积分是一种通过随机采样近似计算 $\int_a^b f(x) \mathrm{d}x$ 数值的方法。

从区间 $[a, b]$ 上采样一个点 $x_i$ 得到 $f(x_i)$ ,我们就认为积分的面积近似为矩形面积 $(b - a) f(x_i)$ ,只采样一次的话会很不准,那么我们采样非常多次,然后求平均。

$$ \int_a^b f(x)\,\mathrm{d}x \approx \frac{b-a}{n}\sum_{i=1}^n f(x_i) $$

具体定义

(注:这里就不再是考虑面积了,而是PDF概率)

$$ F_N = \dfrac{b-a}{N}\sum_{i=1}^{N} f(X_i) $$

$$ \int f(x) \mathrm{d}x = \dfrac{1}{N}\sum_{i=1}^{N} \frac{f(X_i)}{p(X_i)} \qquad X_i \sim p(x) $$

Path Tracing

Path Tracing 前面和 Whitted-Style 光线追踪一样,不一样的是在最终着色的时候是求解渲染方程,