【问题标题】:Raytracer help - Background color writing over some colors?Raytracer 帮助 - 在某些颜色上书写背景颜色?
【发布时间】:2020-12-17 20:57:44
【问题描述】:

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

渲染的图像应该是:

但实际上是:

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

任何想法为什么会这样??

【问题讨论】:

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

标签: c++ graphics colors rendering raytracing


【解决方案1】:

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

@PaulHK 帮助我意识到我的 Lambertian 课程中有一个错误,一旦我意识到这一点,图像就完美呈现了

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

【讨论】:

    猜你喜欢
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多