[opengl dev cpp] Probleme de repere et de vue
Wal
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je tente d'utiliser un peu opgengl sous dev cpp mais j'ai plusieurs probleme.
Tout d'abord tout s'affiche dans un repère non direct. (on peut résumer en disant que les coordonées en z sont inversées)
Ensuite la fonction gluLookAt() qui prend normalement comme argument le point ou se positionne la caméra puis le point visé par la caméra semble réagir de façon inverse, c'est a dire que le premier argument determine sa direction et le second sa position.
Quelqu'un a deja rencontré ces pbs avec les librairies de dev cpp?
Sinon pourriez vous me conseillez un autre éditeur avec compilateur intégré gratuit afin que je puisse voir si le pb ne vient pas exclusivement de dev cpp?
C'est vraiment rageant d'être bloqué par des détails aussi basiques, aussi je remercie vraiment par avance celui qui pourrait m'apporter une solution à mes problèmes.
++
je tente d'utiliser un peu opgengl sous dev cpp mais j'ai plusieurs probleme.
Tout d'abord tout s'affiche dans un repère non direct. (on peut résumer en disant que les coordonées en z sont inversées)
Ensuite la fonction gluLookAt() qui prend normalement comme argument le point ou se positionne la caméra puis le point visé par la caméra semble réagir de façon inverse, c'est a dire que le premier argument determine sa direction et le second sa position.
Quelqu'un a deja rencontré ces pbs avec les librairies de dev cpp?
Sinon pourriez vous me conseillez un autre éditeur avec compilateur intégré gratuit afin que je puisse voir si le pb ne vient pas exclusivement de dev cpp?
C'est vraiment rageant d'être bloqué par des détails aussi basiques, aussi je remercie vraiment par avance celui qui pourrait m'apporter une solution à mes problèmes.
++
A voir également:
- [opengl dev cpp] Probleme de repere et de vue
- Vue satellite en direct gratuit de ma maison - Guide
- Massgrave dev - Accueil - Windows
- Vue de profil instagram - Guide
- Dev c++ - Télécharger - Langages
- Dev home. - Télécharger - Développement
3 réponses
Rebonjour,
bon j'ai plus ou moins résolu mon problème.
mais je n'ai pas vraiment compris l'explication. j'ai juste remarqué quand changeant:
glRotatef(-angley,1.0,0.0,0.0);
glRotatef(-anglex,0.0,1.0,0.0);
par
glRotatef(angley,1.0,0.0,0.0);
glRotatef(anglex,0.0,1.0,0.0);
le repère devenait direct... anglex et angley sont des floatants mis en variables globales et leur valeur change en fait par action de la souris sur l'image afin de pouvoir faire pivoter ma figure. Donc si quelqu'un a l'explication de ce problème, ça m'interresse. (note: j'ai pensé à un moment qu'une rotation d'un angle -0.0 posait problème mais même en rajoutant
glRotatef(-angley+0.1,1.0,0.0,0.0) ça ne changeait rien)
bon j'ai plus ou moins résolu mon problème.
mais je n'ai pas vraiment compris l'explication. j'ai juste remarqué quand changeant:
glRotatef(-angley,1.0,0.0,0.0);
glRotatef(-anglex,0.0,1.0,0.0);
par
glRotatef(angley,1.0,0.0,0.0);
glRotatef(anglex,0.0,1.0,0.0);
le repère devenait direct... anglex et angley sont des floatants mis en variables globales et leur valeur change en fait par action de la souris sur l'image afin de pouvoir faire pivoter ma figure. Donc si quelqu'un a l'explication de ce problème, ça m'interresse. (note: j'ai pensé à un moment qu'une rotation d'un angle -0.0 posait problème mais même en rajoutant
glRotatef(-angley+0.1,1.0,0.0,0.0) ça ne changeait rien)
Attention, il faut vérifier si glRotate fait pivoter la camera OU le repère.
selon que c'est l'un ou l'autre, il est logique que ce que tu veux faire soit dans le mauvais sens.
selon que c'est l'un ou l'autre, il est logique que ce que tu veux faire soit dans le mauvais sens.
Salut.
J'ai ajouté ce code
et en fesant tourner ce repère, je l'ai bien vu direct (selon regle main droite).
Pour les angles, je persiste : si tu fait tourner la camera d'un angle x par rapport à z par exemple, tu aura le rendu inverse par rapport à si tu fait tourner ton repère du même angle !
J'ai ajouté ce code
glBegin(GL_LINES); glColor3f (1,0,0); glVertex3f ( 0, 0,0); glColor3f (1,0,0); glVertex3f ( 1, 0,0); glEnd(); glBegin(GL_LINES); glColor3f (0,1,0); glVertex3f ( 0, 0,0); glColor3f (0,1,0); glVertex3f ( 0, 1,0); glEnd(); glBegin(GL_LINES); glColor3f (0,0,1); glVertex3f ( 0, 0,0); glColor3f (0,0,1); glVertex3f ( 0, 0,1); glEnd();
et en fesant tourner ce repère, je l'ai bien vu direct (selon regle main droite).
Pour les angles, je persiste : si tu fait tourner la camera d'un angle x par rapport à z par exemple, tu aura le rendu inverse par rapport à si tu fait tourner ton repère du même angle !