Mitsuba 2 是一个面向研究的 可重定向(retargetable)前向与反向Renderer,主要用于计算机图形学和计算机视觉中的 物理精确渲染(Physically-based Rendering)逆渲染(Inverse Rendering) 研究。它的核心目标是提供一个高灵活性、高性能、可微分的渲染框架,方便在不同数值表示、执行平台、光学模型之间快速切换。


1. 核心特性

(1)可重定向架构(Retargetable Architecture)

  • 利用 模板元编程 + 类型系统,在编译期自动生成不同的渲染器版本。

  • 可以“重定向”数值类型、执行后端、光学表示,例如:

    • 数值类型float / double / 多波长光谱 / 偏振光谱

    • 执行模式:标量 CPU / SIMD CPU / GPU JIT

    • 可微分计算:普通模式 / 前向微分 / 反向微分


(2)前向与反向渲染(Forward & Inverse Rendering)

  • 前向渲染(Forward Rendering):已知场景几何、材质、光源 → 计算图像。

  • 反向渲染(Inverse Rendering):已知图像 → 通过优化/梯度反传恢复几何、材质、光照等。

  • 内置 可微渲染(Differentiable Rendering) 支持:

    • 前向模式自动微分(Forward-mode AD)

    • 反向模式自动微分(Reverse-mode AD)

    • 与 PyTorch 等深度学习框架集成


(3)物理精确光学建模

  • 支持基于物理的光谱渲染(Spectral Rendering),包括:

    • RGB、可见光多波长、全光谱

    • 偏振光学(Polarization)

  • 材质系统基于 BRDF/BSDF,支持微表面模型、体积散射等


(4)可扩展与插件化

  • 核心功能模块(BSDF、光源、积分器、体积等)全部插件化。

  • 新光学模型、积分方法、采样方法可以无缝加入。


2. 工作流程(Forward & Inverse)

  1. 加载场景(几何、材质、光源)

  2. 选择渲染模式(CPU / GPU / SIMD / 可微分)

  3. 前向渲染

    • 路径追踪(Path Tracing)

    • 双向路径追踪(Bidirectional Path Tracing)

    • 体积渲染

  4. 反向渲染

    • 将渲染方程嵌入计算图

    • 对未知参数(几何、材质、光源)求梯度

    • 优化使渲染结果逼近目标图像


3. 应用场景

  • 逆渲染研究:材质估计、光照估计、几何重建

  • 计算机视觉:从图像推断 3D 属性

  • 机器学习:可微渲染器与神经网络联合训练

  • 物理光学模拟:偏振、干涉、多波长渲染

  • 教育与科研:渲染算法验证、实验


4. 为什么重要

传统渲染器很难同时做到:

  • 支持多种物理光学模型

  • 兼容 CPU/GPU/SIMD

  • 前向/反向渲染统一

  • 灵活扩展而不重写大量代码

Mitsuba 2 通过 编译期类型系统 实现了这种灵活性,因此在学术研究中非常受欢迎,尤其是在 NeRF、逆渲染、可微分物理建模 等领域。