Raytracer帮助-背景颜色覆盖了某些颜色?

时间:2020-08-28 23:28:18

标签: c++ graphics colors rendering raytracing

我正在实现Peter Shirley的“周末的Raytracer:下周”,并且在用灯光渲染场景时遇到了一些麻烦。我不确定是背景色还是灯光本身,但是光线跟踪器在没有灯光的任何场景中似乎都能正常工作。

渲染的图像应该是: enter image description here

但实际上却是:enter image description here

当我尝试进行故障排除并将背景色更改为蓝色时,图像为:

enter image description here

为什么会这样?

1 个答案:

答案 0 :(得分:0)

我在这里找到了答案:https://computergraphics.stackexchange.com/questions/10160/raytracer-help-background-color-writing-over-some-colors

@PaulHK帮助我意识到我的朗伯班上有一个错误,一旦我意识到这一点,图像就会完美呈现

这是他的回答:“只是快速浏览了一下代码。在Lambertion :: scatter中,有一条关于根据距离衰减光的注释。对于光线追踪器,这是不需要的,因为光线本身的分布会导致衰减通常情况下,反照率值乘以当前路径衰减(例外情况是重要性采样,因为它使用加权采样),我没有检查整个项目的来源,所以我有点猜测。”