How to read texture created by OpenGL from GPU memory and do some CPU processing on it without using standard texture read functions