Today, I do:
I'm storing coordernates(x,z) in a std::vector.
I move and rotate the same background grid with: glRotatef(angle_value, 0.0f, 0.0f, 1.0f); glTranslatef(posX, posY, zoom_value);
I draw line like this: glBegin(GL_LINE_STRIP);
The coordenates stored in std::vector I do an iterator: glVertex3f(iterator->x, iterator->y, 1);