我正在尝试实现一个光谱路径跟踪器,并将我的程序的结果与用pbrt和mitsuba完成的相同场景的呈现结果进行比较。场景只是一个带有一点光的盒子里的一些球体。所有的表面都有简单的Lambertian BRDF。光具有“均匀”的光谱强度(即,每个波长的功率与其他波长相同),表面反射率保持不变。当我试图在景物中呈现mitsuba时,我得到了一个“灰度”图像,就像预期的那样:

但是,如果pbrt's用于呈现同一场景,则结果图像有一种略带红色的色调:

通过我的程序,我得到了类似的结果:

经过一些源代码的挖掘,我相信mitsuba 乘积光谱强度的差异在于D65光谱。
是否合理地期望所描述的场景的图像是“灰度的”?如果是这样的话,光强光谱是否真的需要乘以D65光谱?如果是的话,为什么pbrt不这么做呢?
发布于 2020-01-07 05:20:49
是否合理地期望所描述的场景的图像是“灰度的”?如果是这样的话,光强光谱是否真的需要乘以D65光谱?
我对基于物理的光谱渲染的期望是
只有当我们实际呈现到sRGB (或类似的)时,才能在第3步之前出现在任何地方。
平坦光谱转化为XYZ = (0.33, 0.33, 0.33),这是伽马压缩之前的RGB = (1.20, 0.95, 0.91)。因此,“红色色调”是预期的结果遵循上述过程。
不知道三菱为什么会有这样的“特色”。
https://computergraphics.stackexchange.com/questions/8993
复制相似问题