辐射场学习笔记

1. 什么是辐射场?

辐射场(Radiance Field)是计算机图形学中的一个核心概念,用于描述光线在三维场景中的传播特性。它定义了每个空间点(位置)在每个方向上的光线强度

辐射场的定义

辐射场是一个函数:
[
L(x, \omega)
]

  • (x \in \mathbb{R}^3):表示空间中的某一点。
  • (\omega \in \mathbb{R}^2):表示从该点传播的光线方向(定义在单位球面上)。
  • 输出 (L(x, \omega)):描述从点 (x) 沿方向 (\omega) 传播的光强。

辐射度的物理定义

辐射度是单位面积上单位立体角内的光功率(能量流密度),其单位是:
[
W / (m^2 \cdot sr)
]

  • (W):瓦特,表示光功率(能量/时间)。
  • (m^2):单位面积。
  • (sr):单位立体角。

直观来说,辐射度描述了从某个点沿某个方向传播的光线强度。

为什么辐射场是五维的?

辐射场需要描述光线的位置和方向:

  • 空间点 (x):用三维坐标((x, y, z))表示。
  • 光线方向 (\omega):用球面上的两维参数(方位角 (\phi) 和仰角 (\theta))表示。

因此,辐射场是定义在**5D空间(3D位置 + 2D方向)**上的函数。


2. 辐射场的作用

辐射场的主要作用是描述场景中的光照分布,特别是在复杂光线交互的情况下(如多次反射、散射、遮挡等)。它是渲染技术的核心工具,用于高效解决以下问题:

  1. 光线传播的规律:光线如何从光源传播到物体表面。
  2. 光线与材质的交互:光线在物体表面的反射、折射或吸收。
  3. 场景渲染:结合相机视角,生成最终图像。

渲染方程与辐射场

辐射场与渲染方程密切相关:
[
L_o(x, \omega_o) = L_e(x, \omega_o) + \int_\Omega f_r(x, \omega_i, \omega_o) L_i(x, \omega_i) (\mathbf{n} \cdot \omega_i) d\omega_i
]

  • (L_o(x, \omega_o)):出射辐射度。
  • (L_e(x, \omega_o)):自发光。
  • (L_i(x, \omega_i)):入射辐射度。
  • (f_r(x, \omega_i, \omega_o)):材质的反射函数(BRDF)。

辐射场中的 (L(x, \omega)) 描述了入射和出射光的分布,是渲染方程求解的核心部分。


3. 辐射场的实际存储与计算

由于辐射场描述的是一个连续空间中的光照分布,空间中的点是无穷多且不可数的。在实际应用中,我们无法直接存储完整的辐射场,需要对其进行离散化紧凑表示

(1) 离散化辐射场

  1. 空间离散化

    • 将三维空间划分为规则网格(体素,Voxel)。
    • 每个网格点存储一个光照信息,近似代表该区域内的辐射度。
    • 例如,使用 (128 \times 128 \times 128) 的体素网格。
  2. 方向离散化

    • 将球面上的方向离散化为有限个采样点。
    • 使用常见的球面分布方法(如等角分布或HEALPix分布)生成方向采样。

(2) 紧凑表示辐射场

离散化后,为了降低存储和计算开销,可以使用以下方法对辐射场进行紧凑表示:

  1. 多维纹理存储

    • 将离散化的辐射场存储为多维纹理,直接查询即可获取光照信息。
    • 示例:使用 (128 \times 128 \times 128 \times 100) 的纹理存储空间和方向的离散值。
  2. 稀疏数据结构

    • 对光照稀疏的场景,仅存储重要的光照区域(如稀疏体素树)。
    • 优点:高效压缩无用区域。
  3. 神经网络表示(NeRF)

    • 使用神经网络拟合辐射场:
      [
      L(x, \omega) = f_\theta(x, \omega)
      ]
      其中 (f_\theta) 是一个神经网络,输入位置 (x) 和方向 (\omega),输出光强。
    • 优点:适合表示复杂场景,存储需求低。
    • 缺点:训练时间较长,推断速度依赖硬件。

4. 实时渲染中的辐射场应用

传统实时渲染 vs 基于辐射场的渲染

  • 在传统实时渲染中,光源、物体和相机之间的光线关系需要实时计算。
  • 基于辐射场的渲染提前计算了光源与物体的光照关系,实时渲染中只需处理相机与辐射场的关系

预计算 vs 动态更新

  1. 预计算辐射场

    • 静态场景中,光源与物体的光线交互可以提前计算并存储。
    • 实时渲染时,从预存的辐射场中快速查询。
  2. 动态更新辐射场

    • 在动态场景中,辐射场可以结合实时计算对局部区域进行更新,减少计算负担。

5. 辐射场的优缺点

优点

  • 提供场景中每个位置和方向的光线分布信息。
  • 将复杂的光照计算从实时阶段移到离线阶段,提高实时渲染效率。
  • 能够表示复杂的光线交互(如多次反射、间接光)。

缺点

  • 离线阶段的计算开销大(预计算或训练)。
  • 存储需求高,特别是对高精度场景。
  • 无法实时调整光源与物体的相对位置。

参考文献

  1. Computer Graphics: Principles and Practice
    作者:John F. Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley
    版本:第三版
    出版社:Addison-Wesley
    出版年份:2013年
    ISBN:978-0-321-39952-6
    图书链接:Computer Graphics - Principles and Practice, 3rd Edition

  2. NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
    作者:Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, Ren Ng
    会议:欧洲计算机视觉会议(ECCV)
    年份:2020年
    论文链接:NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

  3. NeRF: Neural Radiance Field in 3D Vision, A Comprehensive Review
    作者:Kyle Gao, Yina Gao, Hongjie He, Dening Lu, Linlin Xu, Jonathan Li
    预印本:arXiv
    年份:2022年
    论文链接:NeRF: Neural Radiance Field in 3D Vision, A Comprehensive Review