【问题标题】:Raytracer output very noisy imageRaytracer 输出非常嘈杂的图像
【发布时间】:2018-06-05 16:08:12
【问题描述】:

我正在关注“下周光线追踪器”minbook 第 6 章,在我的场景中添加光线后,光线追踪器输出了那些非常嘈杂的图像,我尝试将样本增加到深度数,但仍然遇到这些问题,但是精致。

我想了解为什么我会得到这些模式。

这里中间的球体是光源“发光材料”

这里前 2 个矩形是光源“发射材料”

【问题讨论】:

  • 你甚至不敢提你针对atm的书的哪一章。所以即使是 0.001% 碰巧读过这本书的 SO 人也无法帮助你。
  • @sebrockm 抱歉,“第 6 章”涉及照明,我用我的代码编辑帖子。谢谢

标签: c++ rendering raytracing


【解决方案1】:

经过一番挖掘,发现问题出在我的随机数生成代码上。

我正在使用这个语句rand()%10/10.0f,它只返回 [0.0, 1.0[ 之间的浮点数,这是非常低的分辨率,然后我用rand() / (RAND_MAX + 1.0) 替换它,现在很好。

如果有人对 C++ 中的高分辨率随机生成有更好的解决方案,请发表评论。

【讨论】:

  • 避免整数除法,因为它是四舍五入的。首选float(rand()) / RAND_MAX
  • 我对这个感到困惑。我写了一些小型项目光线追踪器,以前没有遇到过这种情况。我很高兴你发现了问题,现在事后看来问题的原因是有道理的。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-06
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 2021-08-18
相关资源
最近更新 更多