0

我已经阅读了该主题,并且正在实现并行化光线跟踪引擎(目前仅使用光线-球体交叉点)但是似乎我只能在 GLUT 窗口中显示我的结果或直接写入文件,而不是两者。我不知道如何实现这一目标。我目前正在设置一个 cudaGraphicsResource 并将其映射到一个 GL 像素缓冲区对象。由于对 OpenGL 相对缺乏经验,我不确定如何在 CPU 上检索像素数据。

编辑:对不起。正如我发布的那样,我发现了令人眼花缭乱的 glReadPixels 例程。会调查的。

4

1 回答 1

1

我发现像素缓冲区对象被引用到 CUDA 代码这一事实是无关紧要的。只需进行 glReadPixels(0,0,DIM,DIM,GL_RBGA,GL_UNSIGNED_BYTE,&bucketofdata) 调用就足够简单了。我还没有完全回答自己的问题是为什么如果使用 malloc 初始化 bucketofdata 并且仅当它被声明为 GLubyte bucketofdata[DIM*DIM*sizeof(uchar4)] 时上述调用会失败。

于 2013-02-11T10:50:33.797 回答