Rendering:Monte Carlo Integration I
Course: 渲染基础 Rendering Basics Date: November 29, 2025 10:38 AM (GMT+8)
🎨 Rendering:Monte Carlo Integration I
完整 Notion 笔记(内容不删减、无讲义痕迹)
🏛 1. Monte Carlo 的目的与背景
Monte Carlo(MC)用于估计 难以解析或高维 的积分,是现代光照计算、路径追踪、全局光照等技术的数学基石。
渲染中的光照、阴影、反射、可见性等都可以写成积分,因此 MC 是最通用的求解方式。
🎯 2. 积分与面积的关系
积分可以用于求曲线下的面积。 若函数 f(x) 定义在区间 [0,1] 上:
这个量可以解释为曲线与 x 轴之间的面积。
Monte Carlo 的目标是用随机样本来估计这个面积。
🎲 3. Monte Carlo 的基本思想
Monte Carlo 用以下方法近似积分:
- 在 [0,1] 中均匀随机取样 N 个点
- 计算这些点的函数值
- 对函数值取平均
- 认为平均值近似积分的大小
公式:
这是一种直接、维度无关的估计方法。
📐 4. 随机采样与分布一致性
由于采样是均匀随机分布:
- 采样点会覆盖整个区间
- 每个采样点对估值贡献相同
- 采样越多,覆盖越均匀
随着 N 增大,估计值会逐渐靠近真实积分。
🔍 5. 收敛行为与噪声
Monte Carlo 的误差具有统计学性质:
- 误差期望为 0(无偏估计)
- 方差 ∝ 1/N
- 噪声(标准差) ∝ 1/√N
因此:
- 4 倍样本 → 噪声减半
- 100 倍样本 → 噪声只有 1/10
- 想降噪需要大量样本
这解释了光线追踪图像的噪点和“越采越干净”的现象。
🧠 6. 期望与积分的等价形式
若 X 是 [0,1] 区间上的均匀随机变量,则:
Monte Carlo 计算期望的方式:
这说明: 积分可以被视为期望,Monte Carlo 用样本平均估计期望。
这个观点是渲染中所有 MC 变种的根本依据。
🧩 7. 一般积分场景与高维扩展
Monte Carlo 并不依赖积分维度大小。
无论是:
- 区间积分
- 平面区域积分
- 球面或半球方向积分
- 面光源表面积积分
- 路径空间(多跳反射)上的高维积分
都可以通过:
- 在积分域随机采样
- 计算被采样点的贡献
- 对这些贡献求平均
来估计结果。
这正是 MC 在渲染中极其重要的原因。
🔢 8. 面积估计与概率关系
Monte Carlo 不仅可以估计函数积分,也可以估计区域面积或概率。
若在一个区域中均匀采样:
- 落在某子区域的样本占比 = 子区域占整个区域的面积比例
- 乘以总面积即可得到子区域面积估计
这一思想用于:
- 软阴影区域的可见性估计
- 路径是否能到达光源的概率
- 反射方向的空间占比
等诸多渲染任务。
🔥 9. 估算 π 的方法(几何概率)
通过 Monte Carlo 可以估计 π:
- 在 [-1,1] × [-1,1] 中均匀采样
- 判断点是否落在单位圆内
- 圆内比例 ≈ 圆面积 / 正方形面积
- 推出 π 近似值:
这种方法体现了 Monte Carlo 在几何概率估计中的普适性。
📦 10. 随机变量化的渲染过程
在路径追踪中,像素的光照值来自一个随机过程:
- 一条光线的路径
- 是否被遮挡
- 与光源交互的方式
- 材质 BRDF 中的随机方向
- 路径长度(可能随机终止)
每一条路径的结果都是一个样本。
像素最终的颜色是这些样本的平均:
因此:
- 噪声是自然现象
- 样本越多 → 趋势越明显、噪点越少
- 光照越复杂 → 方差越大、需要更多样本
⚙️ 11. Monte Carlo 的性质总结
- 适用于任意维度的积分
- 计算量与维度无关(稀疏不爆炸)
- 对积分域要求极低,只需能采样
- 是高维光照的唯一通用方法
- 收敛较慢,但稳定、可控
- 可以叠加降噪与重要性采样来提高效率
⭐ 12. 场景计算中的意义(渲染视角)
Monte Carlo 在渲染中的意义包括:
- 解决面光源的光照
- 实现软阴影
- 模拟镜面/粗糙表面反射
- 处理间接光(GI)
- 表达复杂材质的散射
- 表达路径可能性(多跳路径)
- 估计可见性、能量传输、BRDF 分布
所有现代光线追踪器本质上都是在大量执行 MC 的求平均操作。