Thanks for the response Robert. So what is going on is I am trying to
incorporate CEGUI into OpenSceneGraph. So CEGUI is a GUI system that is
meant to be used as a menu system that is always displayed 2d on the screen
and not embedded in 3d space.  What I am trying to do is utilize CEGUI's
tools for quickly creating a functional GUI. The original example I found
was in the OSG 3 cookbook, and for my application I want to be able to
embed it in 3d space and have the user be able to interact with it.

So what I have accomplished so far is used an osg::Drawable to give CEGUI a
context to render and then CEGUI provides a function to return its OpenGL
textureId which I then was able to just use glBindTexture with that and do
basic texture mapping to a quad using OpenGL calls.  I was then able to
setup the GUI to dymically update as well as follow me through the scene.
But, I would now like to be able to actually use OpenSceneGraph's
osg::Geometry to draw this quad. To do this texture mapping, I am just
following the example in the OSG 3.0 beginner's guide, with the image
coming from the Drawable that is holding all the CEGUI stuff.

So what I have is an OpenGL texture Id to work with, and I need use that to
map that texture to a quad. I know my texture mapping is correct as I have
just tried loading an image with osgDB and mapping that, and that works.
But when I am trying to grab the image from my drawable, what gets mapped
to the quad is the last texture that was used. I have tried using
Image::setImage as well as Image::readImageFromCurrentTexture after calling
glBindTexture, but neither have worked for me.

tl;dr, given an OpenGL texture ID, how can I map the texture associated
with that ID to a quad using osg::Geometry?

Thanks!

Cody


On Thu, Jul 18, 2013 at 10:15 AM, Robert Osfield
<[email protected]>wrote:

> Hi Cody,
>
> I'm a bit confused about what you might be trying to do.  Could you take a
> step back and try to explain what you are trying to do at a higher level,
> then others should be better able to suggest how to tackle this type of
> task.
>
> Cheers,
> Robert.
>
> On 13 July 2013 22:10, Cody Hanika <[email protected]> wrote:
>
>> Hello everyone,
>>
>> I am trying to load an OpenGL texture into an osg::Image. I know the
>> OpenGL textureId and I have attempted using both
>> Image::readImageFromCurrentTexture after using glBindTexture() in a
>> Drawable subclass as well as manually using glGetTex* calls to retrieve
>> information about the texture from the texId and then using
>> Image::setImage.  I am doing all of this in a Drawable subclass and then
>> returning the image to a class that draws a Geometry quad. I am calling
>> Image::dirty() and have the dataVariance as DYNAMIC.
>>
>> I am just getting the previosuly bound texture mapped to the quad. I have
>> just loaded a random texture using osgDB::readImageFile and that works so I
>> know I am mapping the texture correctly.
>>
>> Any idea if I am trying to set the osg::Image data incorrectly or if I am
>> missing something that I need to do?
>>
>> Thanks!
>>
>> Cody
>>
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to