Se connecter / S'enregistrer
Votre question

objets 3d opengl

Tags :
  • 3d
  • Programmation
Dernière réponse : dans Programmation
6 Mars 2007 21:39:58

Bonjour a tous,
Je connais les base de l'opengl ( j'utilise glut ) et je voudrais savoir comment on gere l'affichage d'objet 3d ( par exemple si je fais un bel avion avec 3ds max puis je veux m'en servir dans un programme en utilisant OpenGl ).
En fait si vous connaissez des librairies plus pratique pour gerer ce genre d'objtet je suis ouvert a tout ...
Merci

Autres pages sur : objets opengl

7 Mars 2007 16:04:23

Salut debz!

Perso j'utilise un petit programme appelé 3Dexploration.
Il permet à partir d'un grand nombre de fichier (dont les fichier 3ds, obj...) de générer un fichier Cpp contenant ton objet/texture/animations(il me semble), il ne te reste plus qu'à le lier dans ton projet OpenGL.
Ensuite l'appel à ton objet marche comme les listes (c'en est une dailleur ^^)
Dans ta fonction d'affichage tu appel la liste dans le cpp de ton objet (tention, par default 3dexploration donne un nom bidon à la liste, il faut que tu change ce nom, d'une part pour la lisibilité, et surtout dans le cas ou tu veux afficher plusieurs objets, qu'ils n'aient pas le même nom de liste.En plus du nom de la liste ya des p'tits noms de fonctions et de variables à changer ds le cpp de ton objet, pas de panique, tu compile une ou deux fois et tu regarde ou sont les erreurs, tu modifie et c'est dans la poche!)

J'esper que ça va t'aider :) 
a b L Programmation
7 Mars 2007 19:28:21

Moi j'utilisais Crossroad 3D pour convertir un .3ds en tableau .c
Il me faudra tester ce 3Dexploration :) 
Contenus similaires
7 Mars 2007 22:46:07

Ok merci bcp il me sembleit bien qu'il etait question de liste... le bleme c'est que je ne m'y connais pas bcp dans ce domaine mais j'aprendrais vite !
Mais un probleme me viens tjrs a l'esprit.. comment puis je faire bouger un objet sans faire bouger tout ce qui est autour. J'ai essayer avec un cube en fesant comme ca a chaque points :
glVertex3d(-3+x, 3+y, 3+z);
puis je fesait bouger x,y et z mais ca ne marchait qu'une fois ... soit c'est qu c'est impossible soit j'ai un probleme pour mettre a jour mon cube ...
merci bien en tout cas !!
a b L Programmation
7 Mars 2007 22:58:42

Il ne faut pas changer les glVertex, car là, c'est le processeur central qui fait le calcul (ton programme).
Il faut appliquer les matrices de rotations et de translations, comme ça, c'est la carte qui fait les calculs.
Par exemple, si tu veux faire tourner l'objet, il faut faire une translation pour placer l'objet en (0,0,0), faire la rotation, et faire la translation inverse pour remettre l'objet en place.
Il y a les fonction glRotate et glTranslate pour ça.
Je te conseille les excellents turoriaux de NeHe:
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=04
7 Mars 2007 23:26:46

Meerci mais je connais ces rotations mais le probleme c'est que ca fait tourner tous les objets, en fait je voudrais savoir comment en faire bouger qu'un seul objet ! ( je vais tout de meme voir nehe parce qu'ils font des truc bien je crois ) Et j'ai bel et bien recuperer 3d exploration mais n'arrive pas a trouver de tutoriaux sur les listes !!
merci bcp
a b L Programmation
8 Mars 2007 19:10:40

As-tu regardé le lien que j'ai donné ? car justement il fait tourner 2 éléments.
Comme indiqué, il faut utiliser glLoadIdentity(); pour éviter que les transformations des éléments précédent ne se répercutent sur l'élément courant, et pareil pour le suivant, donc pour éviter que la première rotation ne s'applique sur tout ce qui suis (les autres objets).
J'insiste sur le fait qu'il ne faut pas faire les calculs toi-même, sinon, pourquoi aurait-on inventé des cartes graphiques sur-puissantes ? ;) 
8 Mars 2007 19:39:21

ok merci beaucoup je commence a mieu comprendre... c'est juste que j'ai un peu de peine avec l'anglais ( enfin il me faut 3 fois plus de temps pour comprendre .. )
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS