GAMES101-现代计算机图形学学习笔记(18)

本文是GAMES101现代计算机图形学的学习笔记,重点讨论了无偏光照传输的Bidirectional Path Tracing (BDPT)和Metropolis Light Transport (MLT),以及有偏光照传输的Photon Mapping和Vertex Connection and Merging。此外,还介绍了参与介质、头发、毛皮和颗粒材质的建模方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GAMES101-现代计算机图形学学习笔记(18)


原课程视频链接以及官网
b站视频链接: link.
课程官网链接: link.

Advanced Light Transport

主要分为 无偏光照传播(Unbiased light transport)方法、 有偏光照传播(Biased light transport)方法、实时辐射度Instant radiosity (VPL / many light methods)

这里的有偏无偏的出现,是因为在求解光线追踪的过程中采用了蒙特卡洛积分去近似求解。

无偏光照传播方法指的就是在多次重复采样下得到的结果接近所估计的真值,有偏光照传播方法指的是在多次重复采样下存在一定系统误差。

Unbiased light transport

Bidirectional Path Tracing (BDPT)

定义

双向光线追踪(BDPT)是指分别从视点打出射线形成一条子路径,再从光源打出一条射线形成一条子路径,然后连接这两条子路径以形成一条正确的光线追踪路径,并进行计算着色:
在这里插入图片描述
好处

BDPT 适用于光源间接照射的情况。从图中可以看到,左边台灯光源直接照射到朝向天花板的区域,场景中大量物体都是通过间接光照明的。

  1. 对于光线追踪来说(左图),假设视线看到场景中的其他非光源物体(红色区域),这些物体随后会通过漫反射来寻找下一条子路径,但是由于场景光源照射区域较小,可能会反射多次才能打到光源。
  2. 对于 BDPT 来说(右图),先从视线打到场景中的其他非光源物体(红色区域),再从光源打出一条子路径,然后直接连接这两条子路径(红色箭头)就可以寻找到一条正确的光线追踪路径。
    所以同 samples 下, BDPT 在该场景表现的效果比光线追踪好
    在这里插入图片描述

坏处

较难实现,且渲染较慢

Metropolis Light Transport (MLT)

定义

它是应用了 Markov Chain Monte Carlo (MCMC) 来求解光线追踪的方法。

Markov Chain 是一种采样方法,相比之前求解蒙特卡洛积分的随机采样过程,它能在当前状态下采样出邻近相似状态的结果,也就是说当寻找到一条光线追踪路径后,通过 Markov Chain Monte Carlo (MCMC) 可以采样到它周围的光线路径。同时,当给定时间足够,Markov Chain 还能够生成符合任意函数的概率密度函数的样本,也就是说通过 Markov Chain 我们可以获得满足任意形状的函数的采样样本,所以此时求解光线追踪的结果也是最优的。

好处

它能处理较为复杂、困难的场景:

在这里插入图片描述
坏处

由于引入了 Markov Chain Monte Carlo (MCMC),使得每次都能采样光线追踪路径周围的路径,所以它是一种局部的方法,所以很难估计它的收敛速度,并且,不能保证每个像素都能同时收敛,因此会产生一些“脏”的渲染结果:
在这里插入图片描述

Biased light transport

Photon Mapping

定义

它是一种有偏,分两步进行的方法。

它擅长于处理光线路径经过 Specular-Diffuse-Specular (SDS,三种材质) 的这种情况,能产生 Caustics 现象。

(Caustics 的定义:光线聚焦所产生的图案)
在这里插入图片描述
步骤

第一步,从光源出发,打出光线(光子)并进行反射,直至光子接触到漫反射表面上,记录光子的位置;

第二步,从相机出发,打出一系列子路径并进行反射,直至碰撞到漫反射表面。

计算每个着色点邻近 N 个光子的局部密度: △ N / △ A \triangle \mathrm{N} / \triangle \mathrm{A} N/A △ N \triangle \mathrm{N} N 表示邻近光子数量, △ A \triangle \mathrm{A} A 表示这些光子围成的面积。光子分布越多的区域就应该越亮

为什么这种方法是有偏的?

因为在计算局部密

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值