c++ - Raytracer 输出非常嘈杂的图像

标签 c++ rendering raytracing

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

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

Sphere in the middle emitting light 这里中间的球体是光源“发射 Material ”

2 Rectangles with diffuselight materials in top 这里顶部的 2 个矩形是光源“发射 Material ”

最佳答案

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

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

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

关于c++ - Raytracer 输出非常嘈杂的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50704568/

相关文章:

c++ - 构造函数采用 char 指针

c++ - 已编译的可执行文件被视为特洛伊木马威胁

c++ - 理解带有索引修改的嵌套循环

c++ - c++ size_t在linux中定义在哪里

android - 停止 WebView 渲染,直到页面完全加载

opengl - 实时渲染后处理效果

C++:Ray Tracer 输出中的非确定性行为

c++ - qt 渲染图表不更新标题/图例

java - 与线相交的垂直射线

opengl - 光线追踪四次曲面