Salut,
j'ai un tableau tableau_de_triangles contenant, les sommets(3D) de triangles.
Je voudrais savoir comment faire en OpenGL/Glut pour afficher tous ses triangles
Merci
Salut,
j'ai un tableau tableau_de_triangles contenant, les sommets(3D) de triangles.
Je voudrais savoir comment faire en OpenGL/Glut pour afficher tous ses triangles
Merci
Excuse moi, mais si tu ne sais pas afficher des triangles avec OpenGL c'est que tu n'as pas dû lire un seul tutoriel / cours / livre sur le sujet...
Les forums c'est bien, mais rien ne t'aidera plus qu'un peu de recherche personnelle.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
tu fais appel à glVertex avec les bons paramètres entre un glBegin et un glEnd, par exemple :
ça c'est la méthode simple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 glBegin(GL_TRIANGLES); glVertex3f(sommet1, sommet2, sommet3); // triangle 1 glVertex3f(sommet4, sommet5, sommet6); glVertex3f(sommet7, sommet8, sommet9); // fin du triangle 1 glVertex3f(sommet10, sommet11, sommet12); // triangle 2 glVertex3f(sommet13, sommet14, sommet15); glVertex3f(sommet16, sommet17, sommet18); // fin du triangle 2 glEnd(); // fin de l'envoi des triangles
un peu moins simple, documentes toi sur les vertex array
si ton tableau est bien construit, tu peux l'envoyer directement pour affichage
s'il n'est pas bien construit, tu peux toujours le modifier
ps: tu aurais dû poster dans le forum opengl, d'ailleurs tu devrais t'y rendre pour y trouver des liens vers des tutoriaux ou encore la FAQ
Tutoriels OpenGL
Je ne répondrai à aucune question en MP
- Si c'est simple tu dis que c'est compliqué et tu le fait
- Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.
Admettons que mon tableau contienne 2 triangles :Envoyé par shenron666
Je sais le nombre d'élément qu'il y a dans mon tableau
tab = sommet1, sommet2, sommet3, sommet4, sommet5, sommet6
sommet1, sommet2, sommet3 : premier triangle
sommet4, sommet5, sommet6 : deuxieme triangle
En utilisant une boucle, on peut faire ça met comment indiquer qu'une fois qu'on a 3 sommets, on en ajoute 3 autres, ...
j'ai dit une connerie (encore une)
bon c'est lundi alors tapez pas trop fort![]()
glVertex demande pas 3 sommets mais 1 sommet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 glBegin(GL_TRIANGLES); glVertex3f(sommet1.x, sommet1.y, sommet1.z); // triangle 1 glVertex3f(sommet2.x, sommet2.y, sommet2.z); glVertex3f(sommet3.x, sommet3.y, sommet3.z); // fin du triangle 1 glVertex3f(sommet4.x, sommet4.y, sommet4.z); // triangle 2 glVertex3f(sommet5.x, sommet5.y, sommet5.z); glVertex3f(sommet6.x, sommet6.y, sommet6.z); // fin du triangle 2 glEnd(); // fin de l'envoi des trianglesfacile, un triangle c'est 3 sommets, et ça OpenGL le sait (pas con GLEnvoyé par Premium
)
donc tu fais une boucle de ce style :
c'est la base OpenGL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 glBegin(GL_TRIANGLES); // on demande à dessiner des triangles // on balance tous les sommets contenus dans tab // tab doit contenir un nombre de sommets multiple de 3 // un sommet doit contenir 3 float pour le x, le y et le z for(int nSommetNb=0; nSommetNb < nCountVertex; nSommetNb++) glVertex(tab[nSommetNb].x, tab[nSommetNb].y, tab[nSommetNb].z); glEnd();
sinon comme le dit Laurent, tu devrais consulter des tutoriaux
ça te ferai gagner du temps
et surtout, en y allant étape par étape, tu pourrais utiliser des méthodes bien plus efficaces pour gagner en performances
tout dépend aussi du nombre de triangles que tu as à dessiner
Tutoriels OpenGL
Je ne répondrai à aucune question en MP
- Si c'est simple tu dis que c'est compliqué et tu le fait
- Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.
Merci pour le bout de code.Envoyé par shenron666
C'est des milliers de triangles qu'il faut que je dessine
utilise les VBO.
Et pour les tutos il y a une exelent site :http://nehe.gamedev.net/
et http://jeux.developpez.com/faq/openg...ITES_tutoriels
tutoriel Ogre:
http://gusgus.developpez.com/Ogre/
bah heu... un triangle ayant toujours 3 sommets () OpenGL est suffisament malin pour deviner que tu commence un nouveau triangle après 3 envois de vertex
* Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
* pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
Mes articles
Partager