Opencl mit OpenGL mischen
Frage
Ist es in Ordnung, beide OpenGL A OpenCL in einem Programm zu verwenden? Beide arbeiten an der GPU und ich befürchte, wie das Wechsel zwischen OpenCL und OpenGL in "Hintergrund" behandelt wird (z. B. Register werden überschrieben).
Ich verwende Linux, die auf dem Computer mit einigen NVIDIA -Grafik 8K arbeiten, sodass ich OpenCL verwenden kann, die oben auf dem CUDA implementiert sind.
Lösung
"Ist es in Ordnung, beide OpenGL A OPENCL in einem Programm zu verwenden? Beide arbeiten bei GPU und ich befürchte, wie das Wechsel zwischen OpenCL und OpenGL in" Hintergrund "behandelt wird."
Keine Sorge darüber, Sie können einen Kontext erstellen, der beide von den APIs geteilt wird. Sie können auch OpenCL -Puffer aus OpenGL -Puffer erstellen, sodass die Datenübertragung zwischen den APIs nicht über dem Kopf besteht. Bitte informieren Sie uns auch mit der Arbeit, was der Vorteil der Interoperabilität war. Die Berechnung erfolgt durch Kernel -Rendering von OpenGL.
Ich gebe einige Lügen an, die für Sie hilfreich sein könnten.
http://www.dyn-lab.com/articles/cl-gl.html
http://enja.org/2010/08/27/adventures-in-opencl-part-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
Mit freundlichen Grüßen Megharaj.
Andere Tipps
Ja, es ist in Ordnung, Sie können sogar Daten zwischen OpenCL und OpenGL teilen.
Ja, du kannst
OpenCL 1.1 enthält erhebliche neue Funktionen, einschließlich ::
Verbesserte OpenGL Interoperabilität Durch effizientes Teilen von Bildern und Puffern durch Verknüpfen von OpenCL -Ereignisobjekten mit OpenGL -Zaunsynchronisierungsobjekten