Vertices list of a projection

Hello,

I need to do a projection of a 3d object, and get the result as a list of segments.
Is there a way to get it as we create it for the projection (with glNewList, glBegin, glVertex, glEnd, glEndList,...) ?

CPU: Just do the matrix product (M*V*P) for each vertex on the CPU in your app.
GPU: Use transform feedback to do effectively the same thing in a vertex shader (M*V*P) but store the transformed vertices in a GL buffer object.

The first is easier, and ideal if you need the results on the CPU anyway.

@Dark Photon: Yes I need an easy solution, and I need the result on the CPU. But I'm look for OpenGL to take advantage of the GPU efficiency.

@GClements: Are the vertices sorted in the list? I mean, if a vertex correspond to an end of a segment, does the next vertex correspond to the other end of the same segment?
And I saw that Feedback can capture primitive of type GL_POINTS, GL_LINES, or GL_TRIANGLES. But what if we created the input list with the type of GL_POLYGONS?