On Wed, Sep 1, 2010 at 7:53 PM, Brad Huber <[email protected]> wrote:

>  Hello,
>
>
>
> I am interested in granularly controlling the LODScale for different parts
> of my scene graph.  For example I have one part of the graph rendering a
> globe (osgEarth) and another part rendering items on the globe.  I would
> like to be able to increase or decrease the LODScale for just the globe
> portion without disturbing everything else.  The CullSettings are typically
> attached to the Camera.  I wasn’t sure initially that creating two separate
> cameras was the right solution.  I still want the depth buffering and render
> order stuff to be preserved the way it is now (the globe and the items on
> the globe render to the same depth buffer).
>
>
>
> Thoughts?
>
>
> I'd approach this by writing a cull callback that changes the LODScale for
the subgraph and then restores it. Small changes like that to the
CullSettings and Camera should be safe, as the current cull traversal is the
only process currently using that camera.

A cull callback or a custom traverse() method are, by the way, the best
places to make rendering choices for LOD because the eye point is available
in the traversal. osg::LOD does its hard work during the cull traversal. The
project describe at
http://shiny-dynamics.blogspot.com/2010/09/seamless-engine-goes-global.html
makes
fairly low level rendering decisions in a traverse() method during the cull
traversal.

Tim
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to