I wrote a simple program using OpenGL 4.3 which displays a triangle, quadrilateral, and pentagon. I defined my vertices in the following array:

```
vec2 vertices[NumPoints] = {
    vec2(-1, -0.75), vec2(-0.75, -0.25), vec2(-0.5, -0.75), //Triangle
    vec2(0, -0.25), vec2(0.5, -0.25), vec2(0.5, -0.75), vec2(0, -0.75), //Quad
    vec2(0.25, 0.25), vec2(0.5, 0.5), vec2(0.75, 0.25), vec2(0.65, 0), vec2(0.35, 0) // pentagon
};

```

For the sake of brevity I'll omit most of the boilerplate code. In my display function I have the following code:

```
glDrawArrays(GL_TRIANGLES, 0, 3); // draw the points
glDrawArrays(GL_TRIANGLE_FAN, 3, 4); //quad
glDrawArrays(GL_TRIANGLE_FAN, 7, 5); //polygon

```

Everything works fine and there isn't any problems. However, it seems rather tedious and almost impossible to create complex scenes if you need know exactly how many vertices you need upfront. Am I missing something here? Also, if needed to create a circle, how would I do that using just GL\_TRIANGLES?