GL2PS is a C library providing high quality vector output for any OpenGL
application. The main difference between GL2PS and other similar libraries
is the use of sorting algorithms capable of handling intersecting and
stretched polygons, as well as non manifold objects. GL2PS provides advanced
smooth shading and text rendering, culling of invisible primitives, mixed
vector/bitmap output, and much more...

GL2PS can currently create PostScript (PS), Encapsulated PostScript (EPS),
Portable Document Format (PDF) and Scalable Vector Graphics (SVG) files,
as well as LATEX files for the text fragments. GL2PS also provides limited,
experimental support for Portable LaTeX Graphics (PGF). Adding new vector
output formats should be relatively easy; you can also use the excellent
pstoedit program to transform the PostScript files generated by GL2PS into
many other vector formats such as xfig, cgm, wmf, etc.