从OpenCL内核读取生成的图像

时间:2017-10-22 10:35:33

标签: opencl

我有以下OpenCl内核代码:

36

如何在CPU端读取生成的图像进行渲染?我正在使用普通的C.另外一些很好的教程的链接会很棒。

1 个答案:

答案 0 :(得分:2)

clEnqueueReadImage() function是一个图像对象,相当于缓冲对象的clEnqueueReadBuffer()函数 - 具有相似的语义。主要区别在于(2D)图像具有“间距” - 如果沿y轴移动1个像素,则这是您在内存中前进的字节数。 (这不一定等于 width 乘以字节/像素,但如果您的目的地有特殊的存储/对齐要求,则可能更大。)

与缓冲对象的情况一样,替代方法是使用clEnqueueMapImage()对图像进行内存映射。

如果您的主机程序可以访问图像,您将如何进一步处理图像取决于您正在尝试做什么以及您正在开发的平台。