Bonjour tout le monde!

J'ai un petit problème qui je suis sur a une solution pas si compliqué mais j'ai le nez dessus depuis tellement longtemps que je n'arrive plus a rien. En fait voila je crée un cylindre avec gluCylinder que je place verticalement en lui appliquant la rotation suivante :
glRotatef(-90, 1, 0, 0);

Jusque là tout va bien. Seulement voilà, ce cylindre j'aimerais pouvoir changer son orientation comme je veux en cliquant sur des boutons. C'est à dire lui appliquer d'autre rotations par rapport aux Ox Oy et Oz. Et là ça bloque. si je considère un seul axe ça va mais kan je fais des rotations par rapport à l'axe Oy et ensuite que je le fais tourner un peu par à l'axe Oy et ben j'obtiens pas ce sue je veux. Je n'arrive pas à l'aligner correctement.
j'ai pensé à récupérer son orientation en calculant l'angle de sa hauteur avec les trois axes Ox Oy et Oz mais là je m'embrouille et je n'y arrive pas.
Pouvez vous m'aider SVP.