Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 17/04/2013, à 00:01

Nezix

Opengl VBO et sphères

Bonjour,

Je souhaite afficher de nombreuses sphères qui ont une trajectoire définie.
J'ai pour l'instant un GL_ARRAY_BUFFER qui contient les coordonnées des points que j'affiche sous forme de points avec

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glMatrixMode( GL_MODELVIEW );
glVertexPointer(3, GL_FLOAT, 0, 0);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_POINTS, 0,nbParticules);

Je souhaite simplement transformer ces points par des sphères.
J'ai extrais un partie d'un programme de Nvidia qui affiche des particules sous forme de sphères. Ce code contient des shaders qui je pense sont la solution à mon problème mais je n'arrive pas à l'intégrer à mon code.

Quelle est la démarche à suivre ? Utiliser des shaders ?
Est ce que les shaders sont incompatibles avec un VBO ?

Hors ligne

#2 Le 25/04/2013, à 20:10

tirom14

Re : Opengl VBO et sphères

Bonjour,

Oui c'est possible avec des shaders, et non ils ne sont pas incompatible avec les vbo.
Les shaders agissent un peu comme un sous-programme qui va s'incruster entre certaines opérations de la carte graphique.
Ils permettent, entre autre, de créer de la géometrie à partir des vertex envoyés.

En gros, pour chaque points, à partir de leurs positions, vous allez générer dans le shader une serie de triangles correspondant à une sphère.
En pratique, au démarage, il faut charger les shaders, les compiler, et générer un "programme". Ce programme est ensuite utilisé par la carte graphique.

Vous trouverez assez facilement des exemples sur internet, il y a plein de trucs !

Dernière modification par tirom14 (Le 25/04/2013, à 20:14)

Hors ligne

Haut de page ↑