Integrazione dell'applicazione OpenCL / OpenGL 2D esistente nella scena 3D

4

Esiste un'applicazione di visualizzazione scientifica in tempo reale esistente che utilizza OpenCL e OpenGL per il rendering di grafici 2D complessi. Il mio obiettivo è incorporare questa applicazione in una scena renderizzata 3D. Come minimo, l'applicazione desiderata renderà una scena 3D con più piani che contengono ciascuno un grafico dall'applicazione esistente. Idealmente, l'output dell'applicazione esistente potrebbe essere visualizzato come trama di ciascun piano. In questo momento sto cercando di scegliere il miglior framework 3D per questo compito.

Alcuni dettagli aggiuntivi:

  • I dati sono in streaming veloce, quindi sto cercando di preservare il meccanismo di copia zero tra OpenCL / GL che si trova nell'applicazione 2D originale
  • La scena 3D deve avere un significato professionale:
    • Preferirei utilizzare un motore di gioco (IE: Unity, Unreal, ecc.)
    • Se devo scrivere la mia scena in OpenGL per ottenere questo risultato, i riferimenti aggiuntivi sono i benvenuti

Aggiornamento 1 - Dettagli tecnici aggiuntivi

L'applicazione 2D esistente effettua le seguenti operazioni:

  1. Inizialmente, l'applicazione associa una Texture OpenGL e VBO a un kernel OpenCL utilizzando clCreateFromGLTexture e clCreateFromGLBuffer per il rendering di due grafici in tempo reale
  2. I dati provengono da un dispositivo in rete e vengono passati al kernel OpenCL. Il kernel OpenCL esegue una trasformazione matematica e quindi passa il risultato alla trama OpenGL e VBO.
  3. OpenGL acquisisce i dati nel VBO e esegue il rendering di un grafico. A questo punto, entrambi i grafici vengono visualizzati sullo schermo.

Il mio obiettivo è quello di rendere i grafici 2D in una scena 3D in tempo reale. Il modo più semplice per ottenere questo risultato è condividere la trama e VBO con la scena 3D.

  • Chiedo se qualcuno sa se un motore di gioco (Unity, Unreal, CryEngine, ecc.) può accedere a un VBO o texture condivisa OpenCL. Questo mi permetterebbe di sfruttare la capacità del motore di gioco di rendere belle scene.
  • Se non c'è un motore di gioco che permetta questo, allora dovrò scrivere la scena 3D in OpenGL. In questo caso, mi chiedevo se esistessero strutture OpenGL esistenti che possano essere sfruttate per rendere più facile una scena accattivante.
posta Liam Kelly 06.03.2017 - 00:53
fonte

0 risposte

Leggi altre domande sui tag