当前位置:网站首页>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
边栏推荐
- Go import self built package
- 7_ Openresty installation
- Cluster method synchronous execution framework suona
- SWT / anr problem - anr/je causes SWT
- SWT/ANR问题--AMS/WMS
- What is project management?
- SWT / anr issues - ams/wms
- Applet custom top navigation bar, uni app wechat applet custom top navigation bar
- MnasNet学习笔记
- LabVIEW calculates the camera image sensor resolution and lens focal length
猜你喜欢

PMP是什么?

如何在智汀中实现智能锁与灯、智能窗帘电机场景联动?

Leetcode interview question 17.10 Main elements

My PMP learning test experience

基于OPENCV和图像减法的PCB缺陷检测

Pulsar geo replication/ disaster recovery / regional replication

The latest wechat iPad protocol code obtains official account authorization, etc

How to use Jieba participle in unity

Visual effects, picture to cartoon function

Pycharm 打开远程目录 Remote Host
随机推荐
RestCloud ETL WebService数据同步到本地
【做题打卡】集成每日5题分享(第一期)
Leetcode (524) -- match the longest word in the dictionary by deleting letters
How do the top ten securities firms open accounts? Also, is it safe to open an account online?
[multi source BFS] 934 Shortest Bridge
The latest CSDN salary increase technology stack in 2022 overview of APP automated testing
Xception学习笔记
在unity中使用jieba分词的方法
Is there any discount for opening an account now? In addition, is it safe to open a mobile account?
运算符重载的初识
Viewing JVM parameters
手机edge浏览器无法打开三方应用
旷世轻量化网络ShuffulNetV2学习笔记
基于OPENCV和图像减法的PCB缺陷检测
What is the difference between port number and process number?
7_OpenResty安装
Int and bit group turn to each other
AI edge computing platform - beaglebone AI 64 introduction
7_ Openresty installation
SWT / anr problem - storagemanagerservice stuck