[osg-users] Get RGB Values from Textrue

Sebastian Messerschmidt sebastian.messerschmidt at gmx.de
Mon Nov 13 01:26:23 PST 2017

Hi Maxim,

> Hi,
> I have a osg::Texture2D that I'm using as a render to texture target.
> I can see that it is working on the screen, but I need to have access to the RGB values of the texture itself so I can also copy them to another API.
> How can I access the RGB values?

set a postDrawCallback to the pass/camera that writes to the texture.

In the callback:

virtual void operator () (osg::RenderInfo& render_info) const
	osg::State* state=render_info.getState();
	state->applyTextureAttribute(0, mTexture);
GL_FLOAT ); //change the GL_FLOAT to your needs

the mTexture is passed to the callback using the original texture 
attached to the MRT.


> After rendering a frame, if I access _image in the texture2D class, it is null, but I do see that the Texture of texture2D has an array size of 1.
> How and where are the RGB values stored?
> Thank you!
> Maxim
> ------------------------
> Thank you,
> --Maxim
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=72322#72322
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

More information about the osg-users mailing list