Как нарисовать такую звезду openGL?
Фигура состоит из 10 вершин, соединенных 10 ребрами.
На первом шаге тебе надо равномерно распределить по единичной окружности 10 вершин. Сделать это нужно в специально отведенном массиве вершин, т.к. индексированные примитивы в этом старом режиме вывести нельзя.
На втором этапе переключаем контекст на вывод замкнутой линии (GL_LINE_LOOP) и выводим все 10 точек из массива вершин, но со смещением на 3 точки и по модулю 10.

Псевдокод:
void display()
{
   glClear( GL_COLOR_BUFFER_BIT );
   glBegin( GL_LINE_LOOP );

   for( size_t index = 0; index < vertices.size(); ++index )
   {
      const Vertex& vertex = vertices[ ( index * 3 ) % vertices.size() ];
      glVertex2i( vertex.x, vertex.y );
   }

   glEnd();
   glFlush(); 
}
Выложу полный код, может кому-то когда-то понадобится (заранее сочувствую)
spoiler
#include "OpenGL\glut.h"
#include "OpenGL\gl.h"
#include "math.h"

#define PI 3.1415926535897931159979635

//Определение координаты x точки по формуле x = xc+R*cos(f+(2*pi*i/n)),
//где xc - координата х центра, а f - угловая координата первой вершины
float __x(float start_angle, int radius, int i, int n, int offset) {
	return radius * cos(start_angle + (2 * PI * i / n)) + offset;
}
//Определение координаты y точки по формуле y = xc+R*sin(f+(2*pi*i/n)),
//где xc - координата х центра, а f - угловая координата первой вершины
float __y(float start_angle, int radius, int i, int n, int offset) {
	return radius * sin(start_angle + (2 * PI * i / n)) + offset;
}

//Отрисовка звезды, в ф-цию можно передать радиус, кол-во вершин, смещение по оси х и у,
//а так же угловую координату начальной точки
void drawStar(int radius, int vertexes, int offset_x, int offset_y, float start_angle) {
	glClear(GL_COLOR_BUFFER_BIT);
	glBegin(GL_LINE_LOOP);

	float* o_x = new float[vertexes];
	float* o_y = new float[vertexes];

	for (int i = 0; i < vertexes; i++) {
		o_x[i] = __x(start_angle, radius, i, vertexes, offset_x);
		o_y[i] = __y(start_angle, radius, i, vertexes, offset_y);
	}
	for (int i = 0; i < vertexes; i++) {
		int ind = (i * 3) % vertexes;   //Точки выводим со смещением на 3
		glVertex2f(o_x[ind], o_y[ind]); //и по модулю 10ти
	}

	glEnd();
	glFlush();
}

void display(){
	//Такой вызов отрисовывает звезду аналогичную звезде из условия,
	//угловая координата выбрана "методом тыка"
	drawStar(200, 10, 320, 240, 6.6);
	//так же, кол-во вершин лучше ставить кратное 10ти, иначе фигура,
	//скорее всего, не отрисуется
}

int main(int argc, char** argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
	glutInitWindowSize(640, 480);
	glutInitWindowPosition(100, 150);

	glutCreateWindow("Star");

	glClearColor(1., 1., 1., 0.);
	glColor3ub(0, 0, 0); 		
	glLineWidth(4.);
	glPointSize(4.); 
	glMatrixMode(GL_PROJECTION); 
	glLoadIdentity(); 	
	gluOrtho2D(0., 640., 0., 480.);

	glutDisplayFunc(display); 
	glutMainLoop();
	return 0;
}
