how can modify one pixel if i use glreadpixels() to get a pixel array
Huuh !, not sure what you mean here, but glReadPixels can read just one pixel if you want to…, you would then modify this pixel in the memory you copied it to. If you want it displayed then you use glDrawPixels…
Mikael