现代渲染系统面临着一系列庞大且不断增长的要求:在追求真实性时,基于物理的技术必须越来越多地考虑光的复杂特性,例如其光谱组成或偏振。为了减少不必要的渲染时间,矢量化渲染器通过CPU和GPU上的指令级并行性来利用一致性。可区分的渲染算法通过仿真传播导数以优化目标函数,例如,从参考图像重建场景。迎合这些多样化的用例具有挑战性,并且导致了许多专用系统的出现,部分原因是,将这种复杂性的特征改装到现有渲染器上会涉及基本数据结构,组件之间的接口及其组件易出错且不可行的侵入式转换。实现(换句话说,一切)。
我们建议使用Mitsuba 2,这是一种通用的渲染器,可以从本质上重新定位到包括上面列出的各种应用程序的目标。 Mitsuba 2在现代C ++中实现,并利用模板元编程来替换类型并检测BSDF,体积,发射器和渲染算法等组件的控制流。在编译时,它会自动转换算术,数据结构和函数分配,从而将通用算法转变为各种有效的实现方式,而无需进行人工重新设计的繁琐工作。可能的转换包括更改颜色的表示形式,生成在光路束上运行的“宽”渲染器,及时编译以创建在GPU上运行的计算内核以及正向/反向模式自动微分。转换可以被链接起来,这进一步丰富了从单个通用实现派生的算法的空间。
我们演示了在没有帮助的情况下创建具有挑战性的几种应用中该方法的有效性和简便性:基于相干MCMC探索的渲染算法,梯度折射率光学的苛性设计方法以及用于重建非均匀介质的技术。存在多重散射。
Merlin Nimier-David,Delio Vicini,Tizian Zeltner和Wenzel Jakob。 2019年。Mitsuba2:可重定向的正向和反向渲染器。在《图形交易》(SIGGRAPH亚洲会议论文集)38(6)中。
@article {NimierDavidVicini2019Mitsuba2, 作者= {Merlin Nimier-David和Delio Vicini和Tizian Zeltner和Wenzel Jakob}, title = {Mitsuba 2:可重定向的正向和反向渲染器}, journal = {图形事务(SIGGRAPH亚洲会议论文集)}, 音量= {38}, 数字= {6}, 年= {2019}, 月=十二月 doi = {10.1145 / 3355089.3356498} }