Hi Terry, Could you possible create an example that reproduces the problem and has you workaround #ifdef'd in. This would help mean study things at my end.
Thanks, Robert. On 8/1/06, Terry Welsh <[EMAIL PROTECTED]> wrote:
Hi Robert, I don't believe the problem is related to FBO. I can set the render target implementation to any of FRAME_BUFFER_OBJECT, PIXEL_BUFFER_RTT, PIXEL_BUFFER, FRAME_BUFFER, or SEPERATE_WINDOW. In the broken case, the rendering is broken with any of these. With my workaround, it works with any of these. In the broken case, I can call CameraNode::setViewport() with a viewport that OSG just doesn't like for some reason. It will result in glViewport never being called with those particular viewport extents. But I can use that same unliked viewport with setAttribute() and it works. - Terry > Hi Terry, > > Thanks for the extra data point. The CameraNode's viewport will be > applied in the associated RenderStage, but the Viewport in the > StateSet will be push/applied/pop as part of the drawing of leaves. > Note sure why this should make a differnce, but my best guess is that > there is an order dependency issue with setting up the FBO. > Robert. > > Message: 38 > Date: Mon, 31 Jul 2006 19:55:47 -0500 > From: "Terry Welsh" <[EMAIL PROTECTED]> > Subject: Re: [osg-users] CameraNode viewport problems > To: [email protected] > Message-ID: > <[EMAIL PROTECTED]> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > The source of this problem is still a mystery to me, but I have found > a workaround: Changing line 128 in > examples/osgshadowtexture/CreateShadowedScene.cpp from > > camera->setViewport(0,0,tex_width,tex_height); > > to > > camera->setViewport(0,tex_height/2,tex_width,tex_height/2); > > does not work. But if I change it to > > camera->setViewport(0,0,tex_width,tex_height); > osg::Viewport* vp = new osg::Viewport(0,tex_height/2,tex_width,tex_height/2); > camera->getOrCreateStateSet()->setAttribute(vp); > > it does exactly what I want it to do. The camera's render target > implementation does not matter. In the broken case, glViewport is > never called with the desired parameters. I still haven't figured out > why... > -- > Terry Welsh - mogumbo 'at' gmail.com > www.reallyslick.com | www.mogumbo.com > > > Message: 7 > > Date: Mon, 24 Jul 2006 08:38:45 -0700 > > From: "Terry Welsh" <[EMAIL PROTECTED]> > > Subject: Re: [osg-users] CameraNode viewport problems > > To: [email protected] > > Message-ID: > > <[EMAIL PROTECTED]> > > Content-Type: text/plain; charset="iso-8859-1" > > > > Hi Robert, > > The driver is the first thing I suspected as well. So I modified my old fbo > > test app ( http://www.reallyslick.com/src/fbo.tar.gz ) by shrinking the > > FBO's viewport. That demo is pure OpenGL, and uses GLEW for extension > > code. It worked perfectly with weird viewports, so my driver is fine. Of > > course, six months ago there easily could have been driver problems as well > > :) > > > > I'm guessing it's just some little logic problem related to how > > osg::Viewports are applied, but digging through the OSG code hasn't gotten > > me anywhere yet. Please note that this problem isn't just restricted to > > FBO. All the render target implementations had some problem with using > > shrunken viewports. > > - Terry > > > > > > > Message: 42 > > > Date: Mon, 24 Jul 2006 09:23:10 +0100 > > > From: "Robert Osfield" <[EMAIL PROTECTED]> > > > Subject: Re: [osg-users] CameraNode viewport problems > > > To: "osg users" <[email protected]> > > > Message-ID: > > > <[EMAIL PROTECTED]> > > > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > > > > > Hi Terry, > > > > > > I have tried to render to portions of a FBO before but always failed, > > > only using the same size viewport as the textures has only ever work > > > for me. When I experimented with this (over six months ago) I came to > > > the conclusion that it was most like a driver restriction. > > > > > > Robert. > > > > > > On 7/24/06, Terry Welsh <[EMAIL PROTECTED]> wrote: > > > > I can't seem to get a properly rendered texture from a CameraNode if I > > > > change the viewport to be something other than the full size of the > > > texture > > > > attached to it. For example, in > > > > osgshadowtexture/CreateShadowedScene.cpp if line 128 is > > > > changed from > > > > > > > > camera->setViewport(0,0,tex_width,tex_height); > > > > > > > > to > > > > > > > > camera->setViewport(0,tex_height/2,tex_width,tex_height/2); > > > > > > > > then no image is rendered at all. If the render target implementation > > > is > > > > set to FRAME_BUFFER then an image is rendered, but it seems to ignore > > > the > > > > viewport setting and renders to the full texture size. > > > > > > > > Sorry I don't have a fix yet. Was hoping somebody who knows the code > > > > better might know what is causing the trouble. Otherwise, I can > > > probably > > > > look at this in more detail in a couple weeks.... > > > > -- > > > > Terry Welsh - mogumbo 'at' gmail.com > > > > www.reallyslick.com | www.mogumbo.com > > > > _______________________________________________ > > > > 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/
