是否可以在 OpenCL 中绘制图元?

Is it possible to draw primitives in OpenCL?

我正在尝试使用并行内核算法,但它需要直接从内核调用 OpenGL 函数 [比如画一条线],这可能吗? 绘制到纹理对象。谢谢线索

不,不是真的。

首先,在 CPU 端发出 OpenGL 绘图命令(例如 glDrawArrays)。在 OpenCL 内核中,您在 GPU 上运行,无法调用这些方法。

此外,在 OpenCL 中,您甚至无法访问 GPU 渲染管道的固定功能部分,如曲面细分单元或光栅器。

你当然可以在 OpenCL 中创建一个 2D 缓冲区,自己实现线渲染并在其中绘制 "pixels",但这可能不是你想要的。

还有 OpenGL-OpenCL 互操作性的扩展,教程在这里:https://software.intel.com/en-us/articles/opencl-and-opengl-interoperability-tutorial

也许如果您告诉我们您想要实现的目标,我们可以为您提供更好的选择:)