OpenGL не имеет встроенной функции окружности, но имеет линейные функции, и вы можете имитировать окружность, используя многоугольники. Чтобы нарисовать линии, вы можете сделать что-то вроде этого:
glBegin (GL_LINES);
// First line segment
glVertex2f (x0, y0);
glVertex2f (x1, y1);
// Second line segment
glVertex2f (x2, y2);
glVertex2f (x3, y3);
glEnd ();
Чтобы нарисовать круг, вы можете написать цикл, чтобы нарисовать веер треугольника. Что-то вроде:
glBegin (GL_TRIANGLE_FAN);
// Center point
glVertex2f (cx, cy);
for (segment = 0; segment < maxSegments; segment++)
{
double angle = delta * segment;
double x = cx + cos (angle) * radius;
double y = cy + sin (angle) * radius;
glVertex2f (x, y);
}
glEnd ();
В этом случае дельта равна 2 * pi / maxSegments
, а maxSegments - это количество сегментов, которое вы хотите в приближении круга.