Correct, OpenGL polygons need to be convex. OpenGL really only knows how to draw lines, triangles, strips, and fans. Quads and convex polygons are just fans with different names.
There are glu utilities to tesseltate an arbitrary polygon into triangles.
There are glu utilities to tesseltate an arbitrary polygon into triangles.