Stochastic Path-Tracing Algorithms

Stochastic Path-Tracing Algorithms:沿随机路径同时估计直接与间接光,以公式、章专属交互和可重放故障证据独立重写。

学习目标

  • 能说明Stochastic Path-Tracing Algorithms中的“沿随机路径同时估计直接与间接光”,并指出公式中每个量的空间、单位或概率含义
  • 能比较正常基线与“显式光源采样与BSDF路径重复计数,或俄罗斯轮盘后不补偿存活概率”反例,定位路径顶点、吞吐量、每步PDF、直接项和终止事件中的首个差异
  • 能操作三个章专属实验,让stochastic path tracing、direct illumination、indirect illumination同时具备解释、视觉和练习证据
  • 能修改最小实现、固定输入重放,并判断“Stochastic Path-Tracing Algorithms的输入、公式中间量、输出与恢复结果可用同一基线复算”是否重新成立

从一个会失败的图像实验开始

Stochastic Path-Tracing Algorithms要回答的不是“这个名词是什么”,而是:在固定输入下,如何验证“沿随机路径同时估计直接与间接光”,并让一个反例可重复地推翻错误实现?先写下预期像素、几何或估计量,再运行基线;只要路径顶点、吞吐量、每步PDF、直接项和终止事件无法指出差异来自哪一步,图像看起来正确也不能通过。

本页的不变量是:Stochastic Path-Tracing Algorithms的输入、公式中间量、输出与恢复结果可用同一基线复算。反例“显式光源采样与BSDF路径重复计数,或俄罗斯轮盘后不补偿存活概率”只改变一个条件,因而正常、故障与恢复三次运行应能用同一输入直接比较。

原版、版次与事实来源

Stochastic Path-Tracing Algorithms以作者官网第二版104页浏览稿核对书名、作者、2006版次、目录、部分图文与公式,并以出版社书目交叉确认。浏览稿不是完整正文;课程用渲染方程原始论文Veach论文核对技术事实后独立重写。

六个检查词

。这些词共同约束沿随机路径同时估计直接与间接光,每个词都必须落到公式、交互状态或可重放输出,不能只出现在术语表。

原书单元与独立机制解释

Stochastic Path-Tracing Algorithms

stochastic path tracing 从传感器逐次采样散射,direct illumination 通常用显式光源连接降低噪声,indirect illumination 则来自后续反弹。吞吐量必须累计BRDF、余弦、PDF和终止概率。

本单元的正式坐标是stochastic path tracing、direct illumination、indirect illumination。验证Stochastic Path-Tracing Algorithms时,先制造“显式光源采样与BSDF路径重复计数,或俄罗斯轮盘后不补偿存活概率”,再检查路径顶点、吞吐量、每步PDF、直接项和终止事件能否把错误定位到沿随机路径同时估计直接与间接光的首个分叉。

βk+1=βkfrnωp(ω)\beta_{k+1}=\beta_k\frac{f_r|n\cdot\omega|}{p(\omega)}

先预测,再操作三个章专属实验

分步1 / 3

1. 概念与因果路径

在Stochastic Path-Tracing Algorithms中选择任一正式坐标,沿机制链查看它的输入、状态变化和可推翻探针。

路径空间与光传输事件

Stochastic Path-Tracing Algorithms

把沿随机路径同时估计直接与间接光展开为传感器、散射、反弹与光源四类事件。

正式概念

ES₁S₂L

Stochastic Path-Tracing Algorithms / stochastic path tracing

stochastic path tracing 从传感器逐次采样散射,direct illumination 通常用显式光源连接降低噪声,indirect illumination 则来自后续反弹。吞吐量必须累计BRDF、余弦、PDF和终止概率。

传感器

选择像素与初始方向,定义最终测量。

探针:路径顶点、吞吐量、每步PDF、直接项和终止事件

来源边界:Philip Dutré、Kavita Bala、Philippe Bekaert《Advanced Global Illumination》第二版。浏览稿与一手论文用于核对公式,课程交互不冒充原书图表。

最小可重现实验

Spectrum beta(1), L(0);
for (int bounce = 0; bounce < maxDepth; ++bounce) {
  Hit h = intersect(ray);
  L += beta * sample_direct_light(h);
  auto s = h.bsdf.sample(rng);
  beta *= s.f * abs_dot(h.n, s.wi) / s.pdf;
  ray = Ray(h.p, s.wi);
}

运行Stochastic Path-Tracing Algorithms时固定随机种子、输入几何、坐标约定和数值精度;记录编译命令或算法版本、输出摘要与失败条件。实验输出若依赖隐藏全局状态,必须先消除该依赖再比较。

练习与答案

练习

问题 1:公式与边界。 怎样用一个数值样本证明 βk+1=βkfrnωp(ω)\beta_{k+1}=\beta_k\frac{f_r|n\cdot\omega|}{p(\omega)} 中的量没有混用空间、单位或概率密度?

问题 2:正式坐标。 stochastic path tracing、direct illumination、indirect illumination如何进入可操作验证?

问题 3:故障恢复。 如何证明“显式光源采样与BSDF路径重复计数,或俄罗斯轮盘后不补偿存活概率”已经真正修复?

本章回顾

掌握Stochastic Path-Tracing Algorithms意味着能将“沿随机路径同时估计直接与间接光”写成明确公式或算法,能操作正式坐标,能制造“显式光源采样与BSDF路径重复计数,或俄罗斯轮盘后不补偿存活概率”,还能凭路径顶点、吞吐量、每步PDF、直接项和终止事件恢复同输入结果,而不是把一段Vulkan生命周期模板换上本章标题。

名词解释

本章出现的专业名词,用大白话再讲一遍。

stochastic path tracing

stochastic path tracing在Stochastic Path-Tracing Algorithms中用于沿随机路径同时估计直接与间接光;应由路径顶点、吞吐量、每步PDF、直接项和终止事件确认,而不是只凭术语出现。

direct illumination

direct illumination在Stochastic Path-Tracing Algorithms中用于沿随机路径同时估计直接与间接光;应由路径顶点、吞吐量、每步PDF、直接项和终止事件确认,而不是只凭术语出现。

indirect illumination

indirect illumination在Stochastic Path-Tracing Algorithms中用于沿随机路径同时估计直接与间接光;应由路径顶点、吞吐量、每步PDF、直接项和终止事件确认,而不是只凭术语出现。

radiance

radiance:辐亮度沿无吸收直线保持,是光传输方程的基本方向量。

path throughput

path throughput:路径吞吐量累计每次散射、余弦、PDF与终止补偿。

pdf

pdf:概率密度必须与采样测度一致,才能正确形成蒙特卡洛权重。

阅读导航

← Strategies for Computing Light Transport · Stochastic Radiosity →

讨论

评论区加载中…