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

dark_naruto25 127 Messages postés mardi 23 août 2005Date d'inscription 9 mai 2011 Dernière intervention - 31 août 2006 à 00:46 - Dernière réponse : luhtor 2023 Messages postés mardi 24 septembre 2002Date d'inscription 28 juillet 2008 Dernière intervention
- 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
spiky31 106 Messages postés mardi 11 novembre 2003Date d'inscription 11 février 2008 Dernière intervention - 31 août 2006 à 09:54
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+

Merci spiky31 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de spiky31
dark_naruto25 127 Messages postés mardi 23 août 2005Date d'inscription 9 mai 2011 Dernière intervention - 2 sept. 2006 à 14:06
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
luhtor 2023 Messages postés mardi 24 septembre 2002Date d'inscription 28 juillet 2008 Dernière intervention - 3 sept. 2006 à 09:26
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.