I am creating an iPhone application and I am using OpenGL, which I'm new to. I have to change the pixel positions, can anyone show me the functions to work on pixels?
Some example source code to illustrate the idea would be appreciated.
I am creating an iPhone application and I am using OpenGL, which I'm new to. I have to change the pixel positions, can anyone show me the functions to work on pixels?
Some example source code to illustrate the idea would be appreciated.
I'm not an expert on iPhone issues in particular, and I'm an intermediate OpenGL programmer, so take this for what it's worth --
OpenGL discourages direct pixel manipulation, largely because it doesn't make as much sense when you are dealing with any kind of hardware acceleration. The frame buffers are usually stored directly in graphics RAM anymore, and while pushing bits to graphics memory is speedy, pulling information back out is a rare and unoptimized case. The 3-d cards are optimized for fast texturing of triangles, not pixels.
In the good old days, when the frame buffer was in main memory, it wasn't a big deal, but things have changed. So while it's often still possible to peek and poke individual pixels, you will usually get dramatic speed increases by re-expressing your operation as a native OpenGL method. You can write pixels using GL_POINTS, incidentally, but again, it's quite slow.
Still, there are some effects for which manipulating pixels in-place is useful -- plasmas and flame effects really can't be done any other way. For this, I suggest you emulate a frame buffer -- allocate your own, and write to it directly. Then, when you need to display it, blit the whole block to the screen at once.