Yes! Ok, I read that forum and it gave me a better idea of how I might do this.
To account for transparency though I need to get the current pbuffer and put
it into a local byte array.
Something like
Code:
static BYTE pixels[width * height * 4] = {0};
unsigned char* ptr = g_image->data();
for (unsigned int i = 0; i < size; i += 2)
{
pixels[i] = (ptr[i / 2] >> 4);
pixels[i + 1] = (ptr[i / 2] & 0x0F);
}
Now this doens't really work of course, I just get an empy BYTE array.
Normally this could be done with :
Code:
glPixelStorei(GL_PACK_ALIGNMENT, 1);
glReadPixels(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT, GL_BGRA_EXT,
GL_UNSIGNED_BYTE, pixels);
I know that OSG has a readPixels method. But I don't really understand how to
read the pixels into a byte array. The optional packing parameter is an int in
the osg::image::readpixels. I just lack understanding of how to make this
conversion.
How would I got about doing this? Is there maybe a better way in this case
than readpixels?
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=60728#60728
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org