Camera en vol libre avec opengl

sirfrenchalot Messages postés 29 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 23 novembre 2005 - 17 nov. 2005 à 17:59
sirfrenchalot Messages postés 29 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 23 novembre 2005 - 23 nov. 2005 à 10:13
Bonjour a tous,

Je suis en train d'ecrire un moteur 3D sous OpenGL et j'ai quelque dificulte avec la camera. (Langage: C++)
En fait mon soucis, c'est que je ne tient pas a limiter les mouvement au sol. donc je voudrait que ma camera puisse se balader dans n'importe quelle direction.
cela marche, ma camera est defini par deux angles seulemet (un angle de tete orientant de droite a gauche et un anglet de roll orientant de haut en bas) Grace a ces deux angle je me deplace bien dans la bonne direction, tout marche bien jusqu'au moment ou la direction dans laquelle regarde ma camera est proche de la direction y du monde. La, au lieu de tourne la tete de droite a gauche, la camera pivote sur elle meme (rotation autour d'y)

Ca fait un moment que je cherche et j'ai un peu de mal a savoir comment ressoudre ce probleme.

voici le code qui calcule la matrice de vue:


void CCamera::GetViewMatrixFP()
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

// applying transformations on the camera
glRotatef(mPhiAngle, 1, 0, 0);

glRotatef(mThetaAngle,0, 1,0);

glTranslatef(-mPosition.GetX(), -mPosition.GetY(), -mPosition.GetZ());


CalculateVectors();
}

La fonction calculate vectors calcul les valeurs pour les vecteur de la camera (direction, droite et haut)

si vous avez une idee, je suis preneur
Merci

2 réponses

neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
23 nov. 2005 à 07:10
Essaye de poster ton message sur cppfrance...

neodelphi
0
sirfrenchalot Messages postés 29 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 23 novembre 2005
23 nov. 2005 à 10:13
J'ai realise, trop tard, que je m'etais trompe de forum.... desole :s
0
Rejoignez-nous