Смешайте OpenCL с OpenGL - PullRequest
       3

Смешайте OpenCL с OpenGL

2 голосов
/ 24 октября 2010

Можно ли использовать оба OpenGL и OpenCL в одной программе?Оба работают на GPU, и я боюсь, что переключение между OpenCL и OpenGL обрабатывается в «фоновом режиме» (например, регистры перезаписываются).

Я использую Linux, работая на компьютере с некоторой графикой nVidia 8k, поэтому яможно использовать OpenCL, реализованный поверх CUDA.

Ответы [ 3 ]

2 голосов
/ 29 марта 2012

"Можно ли использовать оба OpenGL и OpenCL в одной программе? Оба работают на графическом процессоре, и я боюсь, что переключение между OpenCL и OpenGL выполняется в" фоновом режиме "

Не беспокоиться об этомВы можете создать контекст, который будет использоваться обоими API. Вы также можете создать буфер OpenCL из буфера OpenGL, следовательно, нет никаких накладных расходов при передаче данных между API. Пожалуйста, продолжайте работу и сообщите нам, в чем заключалось преимущество взаимодействия.Вычисление будет выполняться с помощью рендеринга ядра. OpenGL.

Я предоставляю некоторые ссылки, которые могут быть вам полезны.

http://www.dyn -lab.com / article /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 / научные статьи

http://rastergrid.com/blog/category/programming/graphics/

http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=245351

С наилучшими пожеланиями Megharaj.

1 голос
/ 24 октября 2010

Да, вы можете

OpenCL 1.1 включает в себя значительную новую функциональность, в том числе: *

Улучшена совместимость OpenGL благодаря эффективному совместному использованию изображений и буферов путем связывания объектов событий OpenCL с объектами синхронизации OpenGL Fence

http://www.khronos.org/opencl/

1 голос
/ 24 октября 2010

Да, все в порядке, вы даже можете обмениваться данными между OpenCL и OpenGL.

...