Vérifie que tu n´as aucun glLoadIdentity APRES ton glRotate (et avant le glSwapBuffer)
Vérifie que le glRotate est fait AVANT de dessiner ton triangle.
En effet, OpenGL est une machine a état :
glRotate modifie la matrice GL_MODELVIEW, et seuls les triangles dessinés APRES sont affectés.
glLoadIdentity fait un "reset" de toutes les transformations, si j´ose dire (mathématiquement, il remet la matrice modelview (qui est le produit du placement caméra, et les translations/rotations, a l´identité))