C++ OpenGL&x2B;CUDA:将数据从glReadPixels()传输到CUDA

C++ OpenGL&x2B;CUDA:将数据从glReadPixels()传输到CUDA,c++,opengl,cuda,glreadpixels,C++,Opengl,Cuda,Glreadpixels,我用openGL创建了一个图像,并用glReadPixels()读取它。 现在,我想分析这些数据。我想并行化每个像素上运行的循环,并通过CUDA检查其颜色。问题是我需要将数据从GPU传递到CPU 再一次向GPU 有一种方法可以将数据从glReadPixles()传递到CUDA,而无需通过CPU 纹理内存能帮我吗?您需要使用 在和成像部分中有许多可能感兴趣的CUDA示例代码 我建议首先是,因为我认为其中的处理流程与您描述的非常接近(在显示之前修改每个像素) 您不使用glReadPixels,因为这

我用openGL创建了一个图像,并用glReadPixels()读取它。 现在,我想分析这些数据。我想并行化每个像素上运行的循环,并通过CUDA检查其颜色。问题是我需要将数据从GPU传递到CPU 再一次向GPU

有一种方法可以将数据从glReadPixles()传递到CUDA,而无需通过CPU

纹理内存能帮我吗?

您需要使用

在和成像部分中有许多可能感兴趣的CUDA示例代码

我建议首先是,因为我认为其中的处理流程与您描述的非常接近(在显示之前修改每个像素)

您不使用
glReadPixels
,因为这会将数据带回CPU。相反,您可以向CUDA注册openGL对象,以便CUDA可以对其进行操作,然后在显示之前将其注销。

“问题是我需要将数据从GPU传递到CPU,然后再传递到GPU。”-这确实是个问题,因为您根本不需要这样做。“有一种方法可以将数据从glReadPixles()传递到CUDA,而无需通过CPU?”-不,
glReadPixles
与此无关。相反,您应该研究CUDA的OpenGL互操作功能,这些功能可以从CUDA的文档中获得。