Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 光线跟踪器帮助-背景色在某些颜色上书写?_C++_Graphics_Colors_Rendering_Raytracing - Fatal编程技术网

C++ 光线跟踪器帮助-背景色在某些颜色上书写?

C++ 光线跟踪器帮助-背景色在某些颜色上书写?,c++,graphics,colors,rendering,raytracing,C++,Graphics,Colors,Rendering,Raytracing,我正在实现Peter Shirley的“周末中的光线跟踪器:下周”,我在使用灯光渲染场景时遇到了一些问题。我不确定问题是背景色还是灯光本身,但光线跟踪器似乎在任何没有灯光的场景中都能正常工作 渲染的图像应为: 但事实证明: 当我尝试排除故障并将背景颜色更改为蓝色时,图像为: 你知道为什么会这样吗?我在这里找到了答案: @PaulHK帮助我意识到在我的Lambertian类中有一个bug,一旦我意识到这一点,图像就呈现得非常完美 这是他的回答:“只是快速浏览了一下代码。在Lambertion:

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

渲染的图像应为:

但事实证明:

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

你知道为什么会这样吗?

我在这里找到了答案:

@PaulHK帮助我意识到在我的Lambertian类中有一个bug,一旦我意识到这一点,图像就呈现得非常完美


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

没有看到任何代码,答案是“不知道”。不过图片很酷。我看到了一些问题,1)样本数很低,或者在选择朝向灯光的随机光线时存在一些问题。2) 您没有添加任何环境光,或者您正在使用背景色作为环境色。@codetiger感谢您的回复!我最终找到了答案,因为Lambertian类中有一个bug。然而,你提出了非常好的观点,我将使用它们来改进我的光线跟踪器。。。谢谢