用同一套通用渲染器代码,在不重写核心算法的前提下,通过编译期或运行期的自动转换,把它“定向”到不同的目标任务或特性上。
换句话说,它就像一个“渲染算法底盘”,可以按需要换引擎、加挂件,而不用重新造车。
具体体现:
-
换数据表示:比如把颜色从 RGB 换成带偏振信息的 Stokes 向量。
-
换执行方式:比如从单光线路径追踪换成 SIMD 向量化(一次处理多条路径)或 GPU 内核执行。
-
加功能:比如在原渲染算法中自动注入可微分能力(forward / reverse AD)。
-
链式组合:可以把多个变化组合起来,比如“光谱渲染 + GPU 加速 + 自动微分”。
Mitsuba 2能把一个普通的路径追踪器重定向成:
-
面向物理精确光学设计的偏振光渲染器
-
面向加速的 AVX512 / CUDA 向量化渲染器
-
面向逆渲染的可微分渲染器