Alan,

You can set up a camera to draw the scene-graph to an FBO.  The trick
will be getting the OpenGL handle to the destination texture so that you
can then render it into your own application.  Maybe Robert can shed
some light on that part.

-Brad

---
RSC
BDC
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:osg-users-
> [EMAIL PROTECTED] On Behalf Of Robert Osfield
> Sent: Thursday, June 22, 2006 12:47 AM
> To: osg users
> Subject: Re: [osg-users] FBO question
> 
> Hi Alan,
> 
> I have never thought about trying to render an entire OSG scene to
> FBO, and don't actually have any clear idea what bits you'd need to
> tweak to achieve it.  Perhaps one possibility would be assign the FBO
> outwith the SceneView::draw(), or have a custom SceneView override the
> draw to implement you own FBO set up.  You could probably reuse the
> osg::FrameBufferObject for this task.
> 
> The other alterntive would be to use a pbuffer, again done outside the
> SceneView::draw(), however, it might be just as much extra complexity
> as using a FBO, and woud force a copy of data.
> 
> Robert.
> 
> On 6/21/06, Alan Ott <[EMAIL PROTECTED]> wrote:
> > Hello,
> >
> > I have a non-OSG OpenGL application in which I need to draw an OSG
> > Scene. My OSG scene is required to be drawn in up to 3 places on the
> > screen. What I would like to do is render my OSG scene to an FBO,
and
> > have the non-OSG application then draw a polygon with my FBO texture
on
> it.
> >
> > I have a small test app where I render to an FBO, and draw that
texture
> > onto an OSG polygon which works great (similar to the osgfbo
example).
> > My problem now is that to do this, I use a SceneView object which
draws
> > directly to the main framebuffer. I would like to have none of my
code
> > touch the main framebuffer or global state at all, but render only
to an
> > FBO.
> >
> > The goal for now is to have a simple GLUT application, which calls
my
> > OSG code to create the scene (to FBO only), then draws a textured
quad
> > with my FBO texture on it using raw GL calls (similar to the way it
> > would work in the non-OSG app).
> >
> > My questions are:
> >     1. Is there some way to not use a SceneView, and is this
desirable?
> >     2. Is there some way to make the SceneView not touch the main
frame
> > buffer or global state?
> >     3. Is an FBO even the right choice for this? Would a pbuffer be
> better?
> >     4. Am I going to need a whole separate OpenGL context (as with a
> > pbuffer) to do this right?
> >
> > Thanks for any help.
> >
> > Alan.
> >
> > PS: I did something similar before and there are a couple of posts
to
> > the mailing list about it sometime last September or October. Like
this
> > problem, I had to draw to a non-OSG application, but unlike this
> > problem, I could draw directly to the main framebuffer. In this
case, I
> > can't because my image needs to be drawn in up to 3 places in the
main
> > application, so I can't use the main framebuffer directly.
> >
> >
> >
> > _______________________________________________
> > osg-users mailing list
> > [email protected]
> > http://openscenegraph.net/mailman/listinfo/osg-users
> > http://www.openscenegraph.org/
> >
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to