Objet coller à la caméra [Résolu]

Messages postés
127
Date d'inscription
mardi 23 août 2005
Statut
Membre
Dernière intervention
9 mai 2011
- - Dernière réponse : luhtor
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
- 3 sept. 2006 à 09:26
Salut tout le monde,

Je suis un bon didacticiel sur OpenGL, et j'arrive au niveau des
projections. L'exercice final propose de créer une scène composée d'un
cube déformé (pour la pièce), et un autre cube plus petit, histoire de
placer un objet dans cette scène.

Les mouvements de la caméra sont plutot réussi, ça parait très
réaliste. Seulement dès que le petit cube deviens visible, il se met à
bouger en même temps que la caméra, il y est comme attaché ; Alors que
le cube déformé ne bouge pas lui.

Voici le contenu de la fonction d'affichage :
void affichage(void)

{

    afficherEtat();

    glClear(GL_COLOR_BUFFER_BIT);

    glLoadIdentity();

    /* Positionnement de la caméra */

    glRotatef(cam_ry,0,1,0);

    glTranslatef(-cam_x,0,-cam_z);

    glPushMatrix();


    glTranslatef(0.0,1.5,0.0);

    glScalef(1.0,0.25,1.0);

    glColor3f(1.0,0.0,0.0);

    glutWireCube(20);


    glPopMatrix();

    glPushMatrix();

    glTranslatef(5,0,-5);

    glColor3f(1.0,1.0,1.0);

    glutWireCube(2);


    glFlush();

    glutSwapBuffers();

}


Si quelqu'un pouvait m'aider, ça serait cool. Si toute fois il fallait
le code entier (environ 130 lignes), dites le moi et je trouverai un
wall pour le mettre.

Merci de votre patience.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008
3
Merci
Salut

Il me semble qu'il manque un appel a "glPopMatrix();" apres "glutWireCube(2);". Si ca corrige pas le probleme il faudra que tu post le code en entier

voila a+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Commenter la réponse de spiky31
Messages postés
127
Date d'inscription
mardi 23 août 2005
Statut
Membre
Dernière intervention
9 mai 2011
0
Merci
Je ne retrouve plus mon code lol. Je vais le retrouver et essayer, et je te redis après si ça fonctionne.
Mais la chose étrange, c'est que dans le code exemple sur lequel je me base, n'a pas de glPopMatrix() à la fin, et ça fonctionne très bien...
Commenter la réponse de dark_naruto25
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
4
0
Merci
Non ca peut pas fonctionner car si tu fais un push de trop, la pile de
matrice va exploser et je suppose crasher au bout de 32 frames.
Commenter la réponse de luhtor