论文阅读:Optimally Combining Sampling Techniques for Monte Carlo Rendering —— 一文读懂MIS
论文阅读:Optimally Combining Sampling Techniques for Monte Carlo Rendering中文翻译大概叫“对蒙特卡洛渲染中复合采样技术的优化”,从源头说起,一文搞懂mis(multiple importance sampling)多重重要性采样是什么为什么怎么样,以及为什么glsl-pathtracer要对反射方向以及光源都采样一次。
介绍渲染就是积分,积分很多都用MC(蒙特卡罗方法),但是MC的缺点就是因为他是基于概率估计,估计结果会有方差,具体体现在图像上就是噪声。
因为计算机图形学中的积分函数往往是病态的,所以我们经常需要不止一种采样策略来让我们的方差变小。
因此,这里需要解决的问题就是——我有很多种采样方法,如何调整每种采样方法的权重,来使最终的计算方差最小。“我们方法的意义不在于我们可以采用几种糟糕的采样技术并从中炮制出一种好的技术,而是我们可以采用几种可能好的技术并将它们结合起来,以便保留每种技术的优势”
第二部分,我们回顾了用于渲染的 MC 集成的基础知识,并给出了一个例子来激发我们的方差减少框架。
第三部分解释了我们关于 ...
读 BI-DIRECTIONAL PATH TRACING 论文
BI-DIRECTIONAL PATH TRACING 双向路径追踪图形学研究进展需要复现一篇SIGGRAPH,遂找了一篇网上还没代码的论文。这里学习一下其基础:双向路径追踪。
Abstract在本文中,我们提出了一种新的蒙特卡罗渲染算法,该算法无缝集成了拍摄和采集能力,以创建真实感图像。该算法可以被解释为众所周知的路径跟踪算法的推广。测试结果表明,它在间接照明很重要的典型室内场景中表现得更好。
Introduction作者提出了一种新的蒙特卡洛算法来将光源和眼睛顶点放在相同的基础上处理,此之谓双向路径追踪。
后面提到了一篇多pass的渲染论文,问了下chatgpt:
《A progressive multi-pass method for global illumination》是一篇关于全局照明的论文。该论文提出了一种渐进式多通道方法,用于解决全局照明中的光照计算问题。
该方法基于迭代的思想,通过多次迭代来逐步优化全局照明的计算结果。具体来说,该方法分为多个通道,每个通道都对应着一种光照计算模型,例如光线跟踪、辐射度传输、环境光照等。在每个通道中,该方法会使用之前通道的计算结果作 ...
读 Hierarchical Russian Roulette for Vertex Connections 论文
读 Hierarchical Russian Roulette for Vertex Connections 论文Abstract虽然双向路径追踪是一种成熟的光传输算法,但需要许多样本才能获得specular-diffuse-glossy或者glossy-diffuse-glossy的高质量结果,尤其是当它们具有高光泽时。为了提高这种光路配置的效率,我们提出了一种用于顶点连接的分层俄罗斯轮盘赌技术。
我们的技术根据许多缓存的光子路径顶点的眼睛子路径顶点处的近似散射波瓣,加速了大量的俄罗斯轮盘赌操作。我们的方法通过引入以自上而下的方式分配随机数的分层拒绝算法,显着减少了俄罗斯轮盘赌所需的随机数生成次数。为了有效地拒绝每个层次结构中的光顶点,我们还引入了用于俄罗斯轮盘赌概率的各向异性散射波瓣的有效近似。我们的技术很容易集成到一些现有的基于双向路径跟踪的算法中,这些算法缓存光子路径顶点(例如,概率连接、顶点连接和合并)。此外,与现有的多光方法不同,由于俄罗斯轮盘赌的简单性,我们的方法不限制多重重要性采样策略。尽管所提出的技术不支持完美的镜面反射表面,但它显着提高了以无偏差方式在极其光滑的表面 ...
GAMES101 19,20,21,22 (完结)
19 Cameras, Lenses and Light Fields 相机棱镜和光场Camera Structure
shutter 快门
sensor 传感器,感知Irradiance
针孔相机 Pinhole Image Formation没有模糊
Feild of view (FOV) 视场取决于Lens和Sensor(宽度是h)的距离(f)。 $Fov=2 arctan(\frac{h}{2f})$
Exposure 曝光
$ H=T\times E$
exposure=time*irradiance
Aperture size 光圈(E)f数(F-Number F-STop)直径分之一,越大光圈越小。光圈大远景模糊,浅景深(景深是光像清晰的一段范围)
Shutter speed 快门曝光时间(T)Motion Blur 运动模糊
ISO Gain 感光度。太大放大噪声
F-Stop和Shutter时间要Trade off
Gauss Ray Tracing Construction / Thin lens equation$\frac{1}{f}=\frac{1}{z_ ...
GAMES101 16 Ray Tracing 4 Path Tracing
Ray Tracing 4 Path TracingMonte Carlo Integration
Definite intergral: $\int_{a}^{b}{f(x)dx}$
Random variable: $X_i\sim pdf(x)$ , pdf is the Probability Distribution Function
Monte Carlo estimator: $F_N=\frac{1}{N}\sum_{i=1}^{N}{\frac{f(x_i)}{pdf(x_i)}}$
我自己证明一下:中心极限定理,当 $ N\rightarrow \infty $
$\frac{1}{N}\sum_{i=1}^{N}{\frac{f(x_i)}{pdf(x_i)}}\rightarrow E(\frac{f(x_i)}{pdf(x_i)})$
$= \int_{a}^{b}{pdf(x_i)\times \frac{f(x_i)}{pdf(x_i)}}dx$
$=\int_{a}^{b}{f(x_i)}dx$
$= F_N|_{a}^{b}$
$F_N|_{a}^ ...
GAMES101 15 Ray Tracing 3 BRDF
15 Ray Tracing 3 BRDFBasic Radiometry 辐射度量学基础Irradiance
Definition: Power pur unit area.
$ E(x) \equiv \frac{d\Phi_{\perp}(x)}{dA}=\frac{\Phi}{A}cos\theta $
单位面积上接收到的能量
Radiance
Definition: Power pur unit solid angle pur unit area
$L(p,\omega)\equiv \frac{d^2\Phi(p,\omega)}{d\omega dAcos\theta}$
单位立体角单位面积上接收到的能量
Radiance 对单位立体角积分,就是Irradiance:
$E_i(\omega_i)=L_i(\omega_i)cos\theta_i d\omega_i$
Bidirectional Reflectance Distribution Function (BRDF)Reflection at a Point 光在一个点的反射
可以理解成,从外界来的Irrad ...
GAMES101 14 Ray Tracing 2 Accelerate
14 Ray Tracing 2 AccelerateAcceleration: Bounding Volumes
Ray-Intersection With a Box
Understanding : box is the intersection of 3 pairs of slabs.
Axis-Aligned Bounding Box: AABB 轴对齐包围盒
光线进入所有包围面,进入盒子。出去其中一个包围面,出去包围盒。
$t_{enter}=max{t_{min}}, t_{exit}=min{t_{max}}$
If $t_{enter}<t_{exit}$, ray stay a while in the box.
$t_{enter}<t_{exit} and t_{exit}>=0$, ray and AABB intersection.
Grid Solution: 在bounding box 里面再弄一堆格子
Spatial Partitioning Examples
Oct-Tree
KD-Tree
BSP-Tree
Object P ...
GAMES101 13 Ray Tracing 1 Whitted-Style
13 Ray Tracing 1 Whitted-StyleShadow Mapping before we move onTBD
Whitted-Style Ray TracingTBD
Why Ray Tracing?
Rasterization couldn’t handle global effects well
Soft shadow
Light bounces more than once
Ray Tracing is accurate, but is very slow
Rasterization: real-time, ray tracing: offline
~10k CPU core hours to render one frame in production.
Definition:
Light Rays:
Light travels in straight lines 直线传播
Light rays do not collide with each other if they cross 不相互影响
Light rays travel from th ...