I am attempting to rotate a sprite using sin and cos. it almost works, however when I use the rotating keys it rotates in an oblique fashion. It is hard to explain what the sprite actually does. Here is my code.
void drawShip()
{
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_POLYGON);
float cosA = cos(shipAngle);
float sinA = sin(shipAngle);
float offsets[4][2] = { { -10.0f,-5.0f},{10.0f,-5.0f},{10.0f,5.0f},{-10.0f,5.0f} };
glTexCoord3f(0.0f, 0.0f, 0.0f);
glVertex3f(offsets[0][0]*cosA-offsets[0][1]*sinA, offsets[0][0] * sinA - offsets[0][1] * cosA, 0.0f);
glTexCoord3f(1.0f, 0.0f, 0.0f);
glVertex3f(offsets[1][0] * cosA - offsets[1][1] * sinA, offsets[1][0] * sinA - offsets[1][1] * cosA, 0.0f);
glTexCoord3f(1.0f, 1.0f, 0.0f);
glVertex3f(offsets[2][0] * cosA - offsets[2][1] * sinA, offsets[2][0] * sinA - offsets[2][1] * cosA, 0.0f);
glTexCoord3f(0.0f, 1.0f, 0.0f);
glVertex3f(offsets[3][0] * cosA - offsets[3][1] * sinA, offsets[3][0] * sinA - offsets[3][1] * cosA, 0.0f);
glEnd();
glDisable(GL_TEXTURE_2D);
}