My RTT is done with a CameraNode inside the scenegraph. And the eyepoint is being correctly reset for that CameraNode. However, I want the LOD center to be the viewer's eyepoint all the time; not the CameraNode's eyepoint.
I just dug through some of the code you mentioned. It looks like CullStack::_eyePointStack would need to be overridden. I could probably hack it, but I certainly don't know the cleanest way to do it. Any suggestions? - Terry
Message: 6 Date: Thu, 10 Aug 2006 20:42:09 +0100 From: "Robert Osfield" <[EMAIL PROTECTED]> Subject: Re: [osg-users] override LOD eyepoint To: "osg users" <[email protected]> Message-ID: <[EMAIL PROTECTED]> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Hi Terry, Again I ask, how are you setting up the RTT? Is it a seperate CameraNode traversal you are managing yourself, or is it inside the scene graph ala osgprerender? If the eye point isn't perfect the its likely the the CullVisitor code isn't properly taking into account the new projection and view matrix, perhaps its missing updating all parameters. Note the LOD is chosen via NodeVisitor::getDistanceToEyePoint(,) that CullVisitor implements, have a look at its implementation and see if its going astray in the internal CameraNode case. Robert. On 8/10/06, Terry Welsh <[EMAIL PROTECTED]> wrote: > Yes, Corbin, that's the exact problem I have. I'm afraid setLODScale > doesn't work for me. That would make so much geometry visible to the > shadowmap's CameraNode that it would take too long to render a > shadowmap. The correct solution is for the CameraNode to see exactly > the same geometry as the user's eyepoint, and to do that I believe I > need to override the actual position that cues all the LOD nodes. > Maybe I need a function like setLODCenter. Does anything like that > exist? I have a feeling the answer is no. > - Terry > > > Message: 13 > > Date: Wed, 09 Aug 2006 16:36:51 -0500 > > From: "Holtz, Corbin L" <[EMAIL PROTECTED]> > > Subject: RE: [osg-users] override LOD eyepoint > > To: osg users <[email protected]> > > Message-ID: > > <[EMAIL PROTECTED]> > > Content-Type: text/plain; charset=US-ASCII > > > > I think what Terry is saying is that from the camera's (light source) > > point of view he is seeing a lower-level LOD than he is from his true > > viewpoint. You can fix this by using the LOD scale factor to force the > > higher LOD's to show from the light source's viewpoint. I think the > > call is at either the camera or sceneview level. Something like > > sceneview->setLODScale(factor). If you load a LOD database into > > osgviewer you can play with the LOD scale by pressing some keys (look at > > the help in osgviewer by hitting 'h'). This will demonstrate how LOD > > scale works. It is just a multiplier used to calculate LOD transition > > distance from actual distance. > > > > Corbin > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Robert > > Osfield > > Sent: Wednesday, August 09, 2006 3:13 PM > > To: osg users > > Subject: Re: [osg-users] override LOD eyepoint > > > > Hi Terry, > > > > On 8/9/06, Terry Welsh <[EMAIL PROTECTED]> wrote: > > > Is there a way to override the eye position that LOD nodes use to > > > determine which of their levels to display? The specific problem I am > > > facing is that my shadow maps have an eyepoint that is far away from > > > the viewer's eyepoint, so the shadow maps do not contain all of the > > > geometry that is right in front of the viewer. This causes my shadows > > > to appear less detailed than the objects casting the shadows. > > > > How are you setting up the textures? If you are using CameraNode then > > I'd expect it to reset the eye for that camera view, and if it isn't > > then its a bug. > > > > Robert.
_______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
