【发布时间】:2014-12-28 18:41:48
【问题描述】:
我正在编写光线追踪器。到目前为止,我有漫反射和镜面光照,我也计划实现反射和折射。
到目前为止,我使用了白光,我这样计算表面颜色: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) 灯照亮。我是否只需计算两者(包括距离)并将它们相加?
【问题讨论】:
标签: graphics raytracing color-blending