Changing pixels on a texture

Started by
1 comment, last by RAZORUNREAL 18 years, 10 months ago
I have a pretty good 2D OpenGL (ortho mode) engine working now with 32-bit RGBA png texture support. My question is -- if I want to be able to change one pixel in a texture, or create an empty texture and manually write pixel data to it, how would I do that (or what tutorials out there have examples of that).
"Mommy, where do microprocessors come from?"
Advertisement
Let's say you draw your whole screen and you want to make a copy from it the before sending the buffer use this
glReadPixels(0,0,XSizeofTheCopy,YSizeofTheCopy,GL_RGBA,GL_UNSIGNED_BYTE,ImagePtr);
this mean you'll make a copy from your scene to an array
unsigned char *ImagePtr=new unsigned char[XSizeofTheCopy*YSizeofTheCopy*4];

bye
Just change the pixels in the array you have your texture stored in, then:
glBind(GL_TEXTURE_2D, myTexture); // bind your textureglTexImage2D(GL_TEXTURE_2D, 0, colorBytes, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, myTextureData); // and update the copy on the graphics card
___________________________________________________David OlsenIf I've helped you, please vote for PigeonGrape!

This topic is closed to new replies.

Advertisement