Хорошо, я напишу это как ответ, дайте мне знать, если это сработает после попытки.
GL_TRIANGLE_FAN: Если приложение задает последовательность вершин v, OpenGL отображает треугольник, используя v0, v 1 и v 2;другой треугольник, использующий v 0, v 2 и v 3;другой треугольник, использующий v 0, v 3 и v 4;и так далее.Если приложение задает n вершин, OpenGL отображает n – 2 соединенных треугольника.
Таким образом, чтобы нарисовать четырехугольник, центрированный вокруг начала координат,
glBegin(GL_TRIANGLE_FAN);
glTexCoord2f(0f, 0f);
glVertex3f(-halfWidth, -halfHeight, 0f);
glTexCoord2f(0f, 1f);
glVertex3f(-halfWidth, halfHeight, 0f);
glTexCoord2f(1f, 1f);
glVertex3f(halfWidth, halfHeight, 0f);
glTexCoord2f(1f, 0f);
glVertex3f(halfWidth, -halfHeight, 0f);
glEnd();
Теперь вы можете поместить те же преобразования вокругчто вы использовали вокруг своего четырехугольника!Надеюсь, это поможет!