同一套通用渲染器代码,在不重写核心算法的前提下,通过编译期或运行期的自动转换,把它“定向”到不同的目标任务或特性上。

换句话说,它就像一个“渲染算法底盘”,可以按需要换引擎、加挂件,而不用重新造车。

具体体现:

  • 换数据表示:比如把颜色从 RGB 换成带偏振信息的 Stokes 向量。

  • 换执行方式:比如从单光线路径追踪换成 SIMD 向量化(一次处理多条路径)或 GPU 内核执行。

  • 加功能:比如在原渲染算法中自动注入可微分能力(forward / reverse AD)。

  • 链式组合:可以把多个变化组合起来,比如“光谱渲染 + GPU 加速 + 自动微分”。

Mitsuba 2能把一个普通的路径追踪器重定向成:

  • 面向物理精确光学设计的偏振光渲染器

  • 面向加速的 AVX512 / CUDA 向量化渲染器

  • 面向逆渲染的可微分渲染器