我正在写一个光线追踪器。到目前为止,我有漫反射和高光照明,我也计划实现反射和折射。
到目前为止,我已经使用了白光,我计算了这样的表面颜色:surface_color * light_intensity
,除以适当的距离^ 2值,因为我使用的是点光源。对于镜面反射,它是light_color * light_intensity
。 Afaik,镜面反射不会改变光的颜色,所以这也适用于不同颜色的光源。
当光源不是白色时,如何计算漫反射面反射的颜色?例如,(0.7,0.2,0)光击中(0.5,0.5,0.5)表面。另外,在这种情况下距离因素是否有所不同?
另外,如何在不同颜色光源的单点添加光线贡献?例如,(1,0.5,1)表面被(0.5,0.5,1)和(1,0.7,0.2)光照亮。我只是计算两者(包括的距离)并将它们加在一起吗?
答案 0 :(得分:1)