C ++ / OpenGL - Girando um retângulo

Para o meu projeto eu precisava girar um retângulo. Eu pensei, isso seria fácil, mas eu estou recebendo um comportamento imprevisível quando executá-lo ..

Aqui está o código:

<code>    glPushMatrix();
    glRotatef(30.0f, 0.0f, 0.0f, 1.0f);
    glTranslatef(vec_vehicle_position_.x, vec_vehicle_position_.y, 0);
    glEnable(GL_TEXTURE_2D);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glBegin(GL_QUADS);

        glTexCoord2f(0.0f, 0.0f);
        glVertex2f(0, 0);
        glTexCoord2f(1.0f, 0.0f);
        glVertex2f(width_sprite_, 0);
        glTexCoord2f(1.0f, 1.0f);
        glVertex2f(width_sprite_, height_sprite_);
        glTexCoord2f(0.0f, 1.0f);
        glVertex2f(0, height_sprite_);

    glEnd();
    glDisable(GL_BLEND);
    glDisable(GL_TEXTURE_2D);
    glPopMatrix();
</code>

O problema com isso é que o meu retângulo está fazendo uma tradução em algum lugar da janela durante a rotação. Em outras palavras, o retângulo não mantém a posição:vec_vehicle_position_.x evec_vehicle_position_.y.

Qual é o problema ?

obrigado

questionAnswers(3)

yourAnswerToTheQuestion