On 6/27/07, Bradford, Chase <[EMAIL PROTECTED]> wrote:
The LODs should be order from lowest to highest quality.
The idea is to get something like:
1) 20KB lod : range = 200 to 1000
2) 100KB lod : range = 50 to 200
3) 5MB lod : range = 0 to 50
As you get closest to the center of the LOD, the pagedLOD node will make
requests to load the next child. Because gaps aren't allowed in group
nodes, all earlier nodes will be kept in memory up to the current. This
means that the net memory usage for the above example would be 120KB
when the second lod is visible and 5.12 MB when the highest LOD is
visible.
Also, if I'm interpreting the pager code correctly, none of the child
LODs in a PagedLOD will get paged out until the PagedLOD is flagged as
"inactive." It looks as if the culling is used to set that flag, so
unless the node is culled for one frame, it will remain inactive and
keep all of its children paged in. This could cause problems if a lot
of high quality children are ever paged in, but the PagedLOD node itself
never gets culled. Even if only low quality children are visible,
you'll still be paying the memory price on the higher LODs. Hopefully
I'm wrong about that, and Robert can set me straight.
The PagedLOD will expire children that are no longer being traversed.
As a general note, PagedLOD has to have LOD's, just using it to page
in high res tiles will lead to it trying to page in everything and
it'll eventually fill the computer memory - its just like what would
happen with loading the whole scene graph at once. This isn't flaw of
PagedLOD, but an attribute of the scene graph setup, it can't correct
for problems in the scene graph.
The ideal PagedLOD database is composed of a balanced quad tree, with
each PagedLOD having two children, the first a low res tile, the
second the high child is an externally reference file, this file will
contain a Group and then four PagedLOD children, and each of those
children in turn has two children, and so it go rounds recursing until
you reach your highest level of detail. This is how the
VirtualPlanetBuilder creates databases, and allow you to navigate
gigabyte databases with ease. A paged database set up correctly will
allow you to scale up to the physical limits of your disk.
Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/