You can use the stencil buffer. Here are a couple of screenshots from the application I'm working on (Curver, see signature) that may be helpful for demonstrating how to draw filled shapes:
The wireframe shows the geometry drawn in the two-sided stencil buffer, with stencilpass set to increment the buffer and ccw_stencilpass set to decrement it. Then you draw a quad encompassing the shape with stencil testing enabled and viola.
I hope you find this useful.