OpenGL: placer des figures

Fred -  
kij_82 Messages postés 4260 Statut Contributeur -
Bonjour,
Dans le but de developper une application de sculpture avec un bras haptics, je suis entraint d'essayer de positionner des figures en openGL (language dans lequel je debute). J'ai trouve deux types de process pour creer un cube a l'écran. Le faire à la main (pour le moment je voudrais eviter) et la fonction glutSolidCube.

Pour le moment tout va bien, j'ai mon cube a l'écran. Le probleme est maintenant qu'en esseyant de place une sphere via la meme commande, je me retrouve avec les deux ayant le meme pts d'origine...
J'ai trouvé plusieurs tuto qui semblent toujours privilegier la methode "fait main". Le problème est que la partie haptic se complique ennormement dans ce cas... Je voudrais donc savoir si il est possible, avec ces fonctions, de placer nous meme le pts d'origine de chaque figure. J'ai trouve comment positionner la fenetre, les faire bouger, mais pas comment les placer...

En vous remerciqnt par avance pour votre reponse,

Cordialement,

Frederic Lefebvre

1 réponse

kij_82 Messages postés 4260 Statut Contributeur 857
 
Bonjour,

D'après mes souvenirs datant de... 7/8 ans (erf), il me semble que tu dois d'abord te "déplacer" avant de dessiner.
Donc en gros, tu déplace ton oeil à l'aide de transformation pour aller dessiner tes figures à d'autres coordonnées.

Un exemple de fonction à utiliser :
// CUBE
glMatrixMode(GL_MODELVIEW); //Activation de la pile de matrice de placement
glLoadIdentity(); //Initialisation de la pile de matrice
glTranslatef (0.,0.,-5.); //Translation dans les Z negatifs
glRotatef(90.,0.,1.,0.); //Rotation de 90 degrés autour de l'axe Y
// SHERE


En gras, les parties où tu dessines tes figures. A noter que le Rotate ne sert à rien ici puisque tu dessine une sphère (idem pour un cube), c'est juste un exemple de transformation entre deux dessins.

Est-ce bien comme ça ? C'est possible que l'ordre des instructions diffères un peu je ne me souviens que vaguement.

Au pire des cas, tu as le Red book ici (en anglais bien sur) : http://www.glprogramming.com/red/
0