Tom's Guide > Forum > Programmation > objets 3d opengl

objets 3d opengl

Forum Programmation : objets 3d opengl

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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 :)

Répondre à The_Moye

Moi j'utilisais Crossroad 3D pour convertir un .3ds en tableau .c
Il me faudra tester ce 3Dexploration :)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

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 !!

Répondre à debz@IDN

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/lesso [...] ?lesson=04

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

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

Répondre à debz@IDN

Je voudrai savoir si ce dossier correspond bien aux listes dont vous parlez
http://www.up.univ-mrs.fr/wcpp/V1/Lecons/L10.pdf
Ca a l'air d'etre un truc pas mal fait
merci

Répondre à debz@IDN

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 ? ;)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

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 .. )

Répondre à debz@IDN
Tom's Guide > Forum > Programmation > objets 3d opengl
Aller à :

Il y a 310 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens