Есть gluDisk
, но у него несколько иная подпись, чем вы дали. Он всегда центрирует диск на исходной точке и ожидает, что вы будете использовать glTranslate
, если вы не хотите, чтобы ваш диск. Он также немного более универсален в других отношениях - диск, который он рисует, может иметь отверстие в центре, о котором вы (очевидно) не заботитесь, а также параметр «зацикливания», чтобы рисовать более одного диска за раз. время. Это делает его адаптацию к тому, что вы просили, чуть больше работы, чем вам хотелось бы:
void circle(float xcenter, float ycenter, float radius) {
GLUquadric* quad = gluNewQuadric();
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glTranslatef(xcenter, ycenter);
gluDisk(quad, 0, radius, 256, 1);
glPopMatrix();
gluDeleteQuadric(quad);
}
Я бы сказал, что это прямо в тот момент, когда можно задаться вопросом, проще ли просто сделать, как сказал @genpfault, и нарисовать круговой треугольник-веер самостоятельно.