1. Create a float texture (inTex) with GL_RGBA32F_ARB and fill it with the X,Y,Z,0 of the input points
2. Create a float texture (outTex) with GL_RGBA32F_ARB to hold the output points.
3. Create a FBO with the outTex attached.
4. Render inTex as quad with the same dimensions as the inTex to the FBO. The fragment shader can
use the texture coordinates to read the X,Y,Z from inTex, modify them and output them (to outTex).
5. Createa a PBO with size float*4*number_of_points (i.e. the same size as inTex)
6. Copy the transformed points from the FBO to the PBO with glReadPixels.
7. Render the transformed points using that PBO.