J'ai un système de particules où les positions et diverses propriétés sont stockées dans un objet tampon vertex. Les valeurs sont continuellement mises à jour par un noyau CUDA. Actuellement, je les rends simplement en utilisant GL_POINTS comme des cercles plats. Ce qui m'intéresse, c'est de rendre ces particules plus impliquées dans des choses comme les modèles d'oiseaux animés en 3D par exemple. J'essaie de comprendre quelle serait la meilleure approche. Pour le plaisir de la conversation disons que l'animation du modèle d'oiseau est composée de 3 cadres (position des ailes et pas)Comment rendre des particules non triviales dans OpenGL
Je peux voir le chargement des modèles dans des listes d'affichage et le bouclage de toutes les particules en translation , en tournant, etc. la matrice appelle alors la liste d'affichage. Cela ne semble pas être une approche idéale car cela nécessiterait de ramener toutes les données de particules à l'hôte depuis le GPU juste pour faire des opérations matricielles à renvoyer au GPU (à moins que je puisse appeler les fonctions de dessin d'un noyau cuda? ?)
Je ne connais pas beaucoup les shaders, seraient-ils capables de gérer quelque chose comme ça? À ce stade, je suis surtout à la recherche de conseils sur la voie à suivre, mais si vous connaissez des articles ou des tutoriels qui traitent du sujet, bravo. Je travaille avec l'OpenGL nativement sur Windows 7 64bit avec C++. Je n'utilise pas GLUT
D'accord. C'est exactement le genre de chose pour laquelle l'instanciation est conçue. – Toji