Bonjour,
Avant de décrire mon pb d'un point de vue technique je vais replacer le but de mon appli dans son contexte pour les curieux. Les autres peuvent zapper l'explication...
Le but de mon appli est de simuler des réseaux métaboliques à l'aide d'un système multi agent basé sur les fourmis. L'espace cellulaire est modélisé par un cube qui contient des métabolites (pixels). Chaque métabolite est donc représenté par un pixels en couleurs. Le cube est donc un simple tableau en une dimension contenant l'ensemble des métabolites (ou case vide aussi!).
L'algorithme est exécuté à l'aide de OpenCL. Pour ceux qui ne connaissent pas, OpenCL permet d'exploiter les capacités de calcul des GPU. Bref là n'est pas le sujet.
Donc tout les x pas de temps je génère un tableau de pixels (disons une centaine de tableaus) et mon idée serait de pouvoir afficher ce tableau en temps réel ou sinon je stocke tout les tableaux et j'affiche l'animation a postériori.
Donc ma question est simple : quelle est la meilleur facon sous openGL d'afficher dans un cube fictif tout mes pixels ?
En gros en entrée, j'ai un zoli tableau de pixels qui contient des couleurs mais je sais pas quelle primitive de OpenGL utilisé pour l'affichage. Y a-t-il une primitive "Point" qui permet d'afficher un simple point de la couleur voulu à des coordonnées spécifiques?
Question bonus : est ce que l'utilisation des VBO vous semblent justifier pour ce type d'application ?
Et pour ceux qui connaissent OpenCL et qui se demandent si je compte rapatrié mes tableaux sur le CPU pour les re balancer au GPU pour l'affichage, ne vous inquietez pas. J'ai bien noté que OpenCL possède des fonctions qui permettent de faire la bascule OpenGL/OpenCL de manière efficace (encore faut il que j'apprenne à m'en servir)
Voila j'espère avoir été claire. Si ce n'est pas le cas, n'hésitez pas à le faire savoir![]()
Partager