2.2 渲染实验输出问题

在点击运行渲染后,出现下图报错并直接卡死


找了一下对应的 vector 文件,对应行为:

尝试观察运行,发现是在 RasterizerRenderer::render 这里运行到输出“122”后的 for 循环时报错,但未对 RasterizerRenderer 文件内任何函数进行修改。

此外,尝试改了一下 rasterize_triangle 文件,设置 rasterize_triangle 为空也不会产生任何报错(当然也不会有任何输出),请问可能是哪里出现了问题?

打印 122 和 123 之间是多线程程序,这意味着你的错误可能出现在 vertexshader rasterizer phongshader 三个线程中的任意一个线程上。
建议用 debugger 使用 backtrace 查看调用堆栈排查是哪里出错。
一个常见可能出错的地在 FragmentProcessor::worker_thread 里有个 framebuffer->set_pixel(index,fragment.depth,fragment.color); 这个需要你确保你输出的片元的 index 控制在合法范围内。

「いいね!」 2