【发布时间】:2011-04-29 16:31:16
【问题描述】:
可以在一个程序中同时使用 OpenGL 和 OpenCL 吗?两者都在 GPU 上运行,恐怕 OpenCL 和 OpenGL 之间的切换是如何在“后台”处理的(例如,寄存器被覆盖)。
我正在使用带有一些 nVidia 图形 8k 的计算机上使用 Linux,因此我可以使用在 CUDA 之上实现的 OpenCL。
【问题讨论】:
可以在一个程序中同时使用 OpenGL 和 OpenCL 吗?两者都在 GPU 上运行,恐怕 OpenCL 和 OpenGL 之间的切换是如何在“后台”处理的(例如,寄存器被覆盖)。
我正在使用带有一些 nVidia 图形 8k 的计算机上使用 Linux,因此我可以使用在 CUDA 之上实现的 OpenCL。
【问题讨论】:
“在一个程序中同时使用OpenGL和OpenCL可以吗?两者都在GPU上运行,我担心OpenCL和OpenGL之间的切换是如何在“后台”中处理的
不用太担心,您可以创建一个由两个 API 共享的上下文,您还可以从 OpenGL 缓冲区创建 OpenCL 缓冲区,因此 API 之间的数据传输没有开销。请继续工作,并告诉我们互操作性的优势是什么。计算由内核完成,渲染由OpenGL完成。
我提供了一些可能对你有帮助的点赞。
http://www.dyn-lab.com/articles/cl-gl.html
http://enja.org/2010/08/27/adventures-in-opencl-part-2-particles-with-opengl/
http://www.cmsoft.com.br/index.php?option=com_content&view=category&layout=blog&id=99&Itemid=150
http://www.cmsoft.com.br/index.php?option=com_content&view=category&layout=blog&id=140&Itemid=199
OpenCL research/ academic papers
http://rastergrid.com/blog/category/programming/graphics/
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=245351
最好的问候 梅加拉杰。
【讨论】:
是的,你可以
OpenCL 1.1 包含重要的新功能,包括::
通过将 OpenCL 事件对象链接到 OpenGL 栅栏同步对象来有效共享图像和缓冲区,改进了 OpenGL 互操作性
【讨论】:
是的,没关系,你甚至可以在 OpenCL 和 OpenGL 之间共享数据。
【讨论】: