Il y'a déjà pas mal de posts et de tutos sur ce sujet, mais aucun ne m'a permis d'avoir une idée claire, et encore moins d'obtenir le résultat que je souhaite
J'aimerais donc avoir des éclaircicements sur le point précis qui m'occupe :

- Le point de vue est celui du pilote d'un vaisseau spatial.
- Le déplacement du vaisseau est le suivants :
-- Il peut avancer et reculer, s'arréter, se déplacer latéralement et verticalement. Tout ceci étant gérré par le clavier à la manière d'un doom-like
-- Il peut pivoter dans n'importe quelle direction sans limite. C'est a dire qu'il peut faire un tour complet sur lui même sur n'importe quel axe. Ces rotations son gérrées par la souris mais diffèrent des doom-like sur un point important : le mouvement sur Y de la souris correspond à une rotation sur l'axe Y du vaisseau et non du repère fixe d'opengl.

Or, j'utilise deux commandes succéssives opengl :

glRotatef(xRot, 1.0, 0.0, 0.0);
glRotatef(yRot, 0.0, 1.0, 0.0);

ce qui pose un problème. En effet, lorsqu'on regarde vers le haut ou vers le bas (xRot = 90 ou -90) le mouvement obtenu par le mouvement latéral de la souris (sur Y) aboutit à une rotation des objets autour du centre de l'écran, et non à une translation de la gauche vers la droite ou de la droite vers la gauche.

Bref, j'ai eu beau regarder les divers tutoriaux je n'arrive pas à coder le bon comportement. Quelqu'un pourrait-il m'aider ?

PS : pour ceux qui connaissent, le comportement des rotations est exactement le même que celui des vaisseaux dans AS-Mothership d'unreal tournament 2004.