当前位置:网站首页>Sampling Area Lights
Sampling Area Lights
2022-07-01 02:28:00 【狂烂球】
Overview
这里只介绍AreaLight的采样,下面默认的Light都是Area Light,Delta Light不在该文范围内。
目的:在path tracing中,Sampling Lights的目的不是为了获得某个光源某个方向的radiance,而是要估计当前path的交点被整个场景所有光源对其产生的irradiance。
样本:任何估计都是通过一个样本去做估计的,那么在Sampling Lights中的样本,就是当前path的交点发射的一个方向。
Integrals over Area
由于计算光源的面积产生的irradiance比计算点半球方向的积分容易很多,所以irradiance的计算可以用光源的面积作为积分计算。
面积和立体角的关系:

从上图可以看出dA和dω的关系:

Sampling Light Source
如前面所说,采样到一个光源后,我们需要估计这个光源的总体irradiance,irradiance是由半球内的立体角积分得到。根据蒙特卡洛方法,我们需要知道这个从这个光源出发到达一点的方向的pdf,最后参与到bsdf的计算去。
下面整理了采样光源的具体步骤。
1)由于场景可能有多过光源,根据光源分布(或可以用均匀采样)采样,需要计算出该光源的pmf。
2)采样光源的具体一个面,计算出该面在光源中的pmf。
3)在该面上随机采样一个点,并和光照点生成射线先做可见性检测。
4)假如该方向可见,计算方向的pdf。
光照方向的pdf推导如下:
采样的AreaLight的面的面积是A,方向是ω,由于pdf(ω)的积分是1,我们有:

根据dω和dA的关系,上面的积分可以从方向转成点的积分:

所以可得到:


把最后这个pdf做irradiance的估计。
必须明白一个原则:样本是什么,就需要计算该样本的pdf,例如如果样本是点,那么pdf就是点的pdf,样本是方向,那么就是方向的pdf。
Reference
边栏推荐
- How do I open an account on my mobile phone? Also, is it safe to open an account online?
- With one-stop insight into industry hot spots, the new function "traffic market" of feigua data station B is launched!
- centos 安装多个版本的php并切换
- SWT / anr problem - storagemanagerservice stuck
- LabVIEW计算相机图像传感器分辨率以及镜头焦距
- 522. Longest special sequence II
- DenseNet网络论文学习笔记
- Map array function
- SWT / anr problem - deadlock
- js中的图片预加载
猜你喜欢

PMP是什麼?

Pycharm 打开远程目录 Remote Host

nacos配置中心使用教程

How to use Jieba participle in unity

(summary I) Halcon Foundation's target finding features + becoming a regular

Proxy support and SNI routing of pulsar

SWT / anr problem - storagemanagerservice stuck

旷世轻量化网络ShuffulNetV2学习笔记

pycharm 软件deployment 灰色 无法点

What is PMP?
随机推荐
SWT/ANR问题--Binder Stuck
最新微信ipad协议 CODE获取 公众号授权等
pycharm 软件deployment 灰色 无法点
Focusing on green and low carbon, data center cooling has entered a new era of "intelligent cooling"
CentOS installs multiple versions of PHP and switches
How to use Jieba participle in unity
[multi source BFS] 934 Shortest Bridge
Clickhouse 消除由group by产生的间隙
Rocketqa: cross batch negatives, de noised hard negative sampling and data augmentation
Do you write API documents or code first?
Detailed data governance knowledge system
SWT / anr problem - SWT caused by long execution time of native method
SWT / anr problem - anr/je causes SWT
Analysis and solution of anr problems
Gartner研究:在中国,混合云的采用已成为主流趋势
P6773 [noi2020] destiny (DP, segment tree merging)
Int and bit group turn to each other
Open source basic software companies, looking for you to create the future together (api7.ai)
Thread Detach
Pychart software deployment gray unable to point