The paging and rendering system are our own, the paging system uses a
seperate thread to load the terrain and create the drawables. I know the
threading isn't the issue as this problem was around before the threading
was put in. The renderer is just a brute force terrain renderer at the
moment, once the arrays have been sent to osg, it does nothing more to
modify or insert anything in each drawable.

To give an example, if I make our cull callback function always return false
I get a steady framerate right from the beginning even though it's low, mid
30's for about 15M polys, soon as i put the culling back in the framerate
jumps up to 100+ so i know the culling is working, but then it slows down
and jumps while i look around for the first time. So thats how i narrowed it
down to the cull function, but maybe it's something else i'm doing wrong?

This is the code i'm using to cull each drawable

      SRTMDrawable *srtm = dynamic_cast<SRTMDrawable *>(drawable);
      osg::BoundingBox bbox = srtm->getBound();
      return state->getViewFrustum().contains(bbox);

To give an idea of what the scenegraph looks like I'm doing this:

   RootNode
         ------------> SceneNode(translation matrix for the tile to
position it)
                                   -----------> geode
                                                      ------->
Drawable(terrain tile, uses setvertexarray, settexcoordarray and
addprimitiveset)

and each tile gets it's own scenenode under the root node.

Thanks Again,
Chris

On 5/31/07, Robert Osfield <[EMAIL PROTECTED]> wrote:

Hi Chris,

I don't know what the issue is.  Is this paging system in any way
related to the standard OSG paging support via PagedLOD and
DatabasePager?  These load balance for you, both in managing the about
of OpenGL objects download as well as removing expired subgraphs.

Robert.

On 5/31/07, Chris Ferrer <[EMAIL PROTECTED]> wrote:
> I'm using a terrain tile paging system that sets each tile to it's own
> drawable. I've implemented the cull callback function to simply check
the
> bounding box of the tile against the frustum and return false/true
> accordingly.
>
> However once my terrain is loaded from the disk and I begin to look
around
> it starts to slow down as if it's loading the tiles that are in the
current
> view space and it continues this as i look around until I've completely
seen
> every tile in the camera space, then it works just fine without any slow
> down.
>
> Is there something i'm missing to force the drawables to load into
> osg/opengl after i've sent the vertices, texture and indice arrays over,
or
> is there something else i need to do?
>
> Thanks in advance,
> Chris
> _______________________________________________
> osg-users mailing list
> osg-users@openscenegraph.net
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/
>
_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to