The routine gStartPolygon() causes a new polygon to be started. gStartPolygon() makes an internal call to gSetPolygonMode(GON) i.e. it switches on the storing of polygon vertices. If there is a previously defined polygon that was not closed by calling gEndPolygon(), then gStartPolygon() closes it.