I'm trying to draw a 2D polygon using GL.Line; however I'm not getting a polygon but separated lines instead. In the example below, I would expect a rectangle formed by the spheres:

[![enter image description here][1]][1]

My code is the following:

    void OnPostRender( )
     {
         GL.PushMatrix ( );
         mat.SetPass ( 0 );
         GL.LoadOrtho( );
 
         GL.Begin( GL.LINES );
         GL.Color( Color.white );

         for ( int i = 0; i < spheres.Length; i++ )
         {
             currentVector = Camera.main.WorldToViewportPoint ( spheres[i].transform.position );
             GL.Vertex3 ( currentVector.x, currentVector.y , 0  );
         }
 
         GL.End();
         GL.PopMatrix();
     }

Also, I found [this tutorial/example][2] but is not exactly what i'm looking for, since in the example, all have the same origin point.

I'm asumming that the correct way of achieving what I want, would be to call the Gl.Vertex3 method once for each of the 2 points that form each line:

 - From A to B (GL.Vertex3 call 2 times)
 - From B to C (GL.Vertex3 call 2 times)
 - From C to D (GL.Vertex3 call 2 times)
 - From D to A (GL.Vertex3 call 2 times)

**Is this the right way of doing this?**

Thanks in advance.

  [1]: https://i.sstatic.net/KpDsQ.png
  [2]: https://gamedev.stackexchange.com/questions/96964/how-to-correctly-draw-a-line-in-unity/