Robert,

Thank you for the advice!  I actually am using a scheme almost identical
to the one you mentioned.  The only differences are that I'm using
PagedLODs, I'm using display lists (in addition to VBOs), and I have
matrix transforms that are applied to the geometries.  I'll try going
without the PagedLODs and seeing what happens.  If you don't mind, I'd
like to clarify a couple things before proceeding:

1. When you say spatially segmented, I'm assuming you mean that the
points in each osg::Geometry should be close in proximity.  But do you
also mean that the scene graph should be organized spatially in a quad-
or oct-tree structure of osg::Groups?

2. I have some datasets with over 100 million points, so I'll need to
use PagedLODs at some point.  When you say that the DatabasePager should
be set up to achieve a variable frame rate, do you mean that I should
call setUseFrameBlock(false)?

Thanks,
Andrew


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Robert
Osfield
Sent: Tuesday, July 04, 2006 4:21 AM
To: osg users
Subject: Re: [osg-users] Displaying lots of point data

Hi Andrew,

I'd recommend breaking your dataset into chunks of vertices, ideally
spatially segmented, with each chunk a seperate osg::Geometry
containing a single DrawArrays.  You should use VBO's on these
geometries (see osg::Drawable header for details) and play around with
how many vertices per geometry provides the maximum throughput.

I've worked with over 10 million vertices these way at interactive
speeds.  Once you get to to around this number you won't be able to
fit all the data on graphics card so it'll have to start paging the
data in from main memory - this is where having bite sized chunks will
make all the difference to performance.

I did try paging the data but found that the DatabasePager had to be
set up to download the data to GPU as quickly as possible, rather than
get it to try and achieve a constrant frame rate, as the big chunks
take too long to download otherwise.  If you can get away with not
using PagedLOD then you'll probably find things work just fine.

Robert.

On 7/3/06, Andrew Weitz <[EMAIL PROTECTED]> wrote:
> Robert,
>
> At the OSG course in May, I asked Don about displaying huge amounts of
> point data.  He recommended I write you an email because he's seen you
> do cool things with point clouds in the past.
>
> I currently create point clouds by passing a vertex array to a
geometry
> and adding a GL_POINTS primitive set.  I create IVE files of point
> clouds, each with about 25,000 points.  These get added to my scene
> graph as paged LODs.  The problem is that when my point count gets up
in
> the several hundred thousand range, visualization becomes much too
slow.
> I'd like to be able to view millions of points if possible.
>
> Do you have any recommendations for displaying huge amounts of point
> data?
>
> Thank you!
>
> Andrew
> _______________________________________________
> 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/

Reply via email to