图形学基础薄弱,自学中o(╥﹏╥)o 在此记录一下我的学习过程,持续更新!

课程

阅读材料

在学习SmallUPBP算法过程中补全的知识。

  • path integral 路径积分

    将图像中某个像素的亮度$I$看做是某个空间$\Omega$中光线传播路径的积分:$I=\int_{\Omega} f(\bar{x})d\mu(\bar{x})$.

    微分路径$d\mu(\bar{x})$是表面顶点(对于面积积分)或介质顶点(对于体积积分)的乘积度量。

    分布函数$f(\bar{x})$是自发光的radiance $L_e(x_0)=L_e(x_0 \to x_1)$,路径通量$T(\bar{x})$和传感器对radiance的响应$W_e(x_k)=W_e(x_{k-1} \to x_k)$(就是用来把radiance转换成颜色的线性映射的系数)的乘积:$f(\bar{x})=L_e(x_0)T(\bar{x})W_e(x_k)$.

    其中路径通量$T(\bar{x})$是路径段几何项和传播项以及散射函数的乘积:

    其中,路径段$xy$的几何项$G(x,y)=V(x,y)\frac{D(x\to y)D(y \to x)}{||x-y||^2}$, 其中,$x$在表面上时$D(x \to y)=|n_x \cdot \omega_{xy}|$,$x$在介质中时$D(x\to y)=1$. $n_x$是表面法向量,$\omega_{xy}$是从$x$到$y$的单位长度向量.

  • 光线在参与介质中传输

    在对象之间的空间通常被一些集群介质(如:空间,水)占有,此外这些媒介包含杂质和悬浮的微小粒子。在这些情况下,当光线在表面之间传播时,介质参与了光线的交互。

    辐射传输方程(RTE)

  • Multiple Importance Sampling 多重重要性采样:MIS的一个经典案例是面光源对光泽(glossy)表面的高光效果。通常来说计算这种高光有两种方法,第一种是对光源采样,第二种是对BSDF采样,这两种方法在各自擅长的情况下有不错的表现,而MIS则能在所有情况下都有不错的表现。

    重要性采样方法,目的是近似被积函数的某个项,当另外的项在这个函数中占据主导的情况则会表现不佳。但是对于获取整个被积函数的近似函数是不现实的,因此引出了结合不同近似函数的多重方法,其中每一个近似函数尽可能正比于被积函数的一个项,从而在各种情况下得到一个低方差的结果,即多重重要性采样。

两种主流的真实感渲染技术

  1. Path Tracing & Bidirectional Path Tracing 路径追踪、双向路径追踪

    Light Tracing:传统的path tracing算法从摄像机向外发射射线,并不断散射、寻找光源;与之相对地,我们也可以从光源向外发射射线,并不断散射,寻找相机。Light Tracing算法流程:

    for i = 1 to N
     construct path Xi from light source to camera
     for j in all pixels
         I[j] += (1 / N) * T(Xi) * fj'(Xi) / p(Xi)
    
  2. Photon Mapping 光子映射:光子追踪的策略是,由灯光发发射出有限数量的光子,当光子命中场景模型的漫反射表面时存储光子到Photon Map中,光子会被模型反射、折射或吸收。当光子被吸收或者离开目标场景时结束此光子追踪过程。

    补充:Radiocity Method

    Ray Marching:从摄像机向屏幕上的每一个像素发射一条光线,光线按照一定步长前进,检测当前光线距离物体表面的距离,并且根据这个距离调整光线的步长,直到抵达物体表面。

CG

Neural Distance Embeddings (NeuroSEED) «
Prev «
» Transformer笔记
» Next