Re: [osg-users] Highly detailed closed scene navigations...

2008-04-15 Thread neil.hughes
Hi Jason  Robert,

Sorry for not getting back to you sooner.

Many thanks for the info. I guess I'm going to have to just suck-and-see. The 
occluder route looks to have the greatest gains for me. 

Once again, many thanks to yourselves and the forum.

Kind regards

Neil.

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Highly detailed closed scene navigations...

2008-04-15 Thread Robert Osfield
Hi Neil,

When you start to deal with really large datasets that paging and culling
are tools that you'll need to use effectively, you'll need to understand
load balancing of the system.  Primarily what you'll be doing is building an
appropriate database rather than optimizing at the code level, to do this
you'll need to understand the code and the hardware of course.

Don't expect to find a silver bullet for this work, items like using
occlusion culling is just another tool in your toolbox, instead you need to
gather lots of tools in the toolbox, understand them and how to build a
database that uses them efficiently.

Robert.

On Tue, Apr 15, 2008 at 9:31 AM, [EMAIL PROTECTED] wrote:

 Hi Jason  Robert,

 Sorry for not getting back to you sooner.

 Many thanks for the info. I guess I'm going to have to just suck-and-see.
 The occluder route looks to have the greatest gains for me.

 Once again, many thanks to yourselves and the forum.

 Kind regards

 Neil.

 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Highly detailed closed scene navigations...

2008-04-15 Thread Jason Daly
Robert Osfield wrote:
 Hi Neil,

 When you start to deal with really large datasets that paging and 
 culling are tools that you'll need to use effectively, you'll need to 
 understand load balancing of the system.  Primarily what you'll be 
 doing is building an appropriate database rather than optimizing at 
 the code level, to do this you'll need to understand the code and the 
 hardware of course. 

 Don't expect to find a silver bullet for this work, items like using 
 occlusion culling is just another tool in your toolbox, instead you 
 need to gather lots of tools in the toolbox, understand them and how 
 to build a database that uses them efficiently.

Hi Neil,

I second this.  With the scene you're discussing, I wouldn't expect to 
be able to sprinkle a few OccluderNodes around the scene and have it 
magically work and run at 60fps.  If your database already won't fit in 
memory, you're at least going to need to do some paging.

--J

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Highly detailed closed scene navigations...

2008-04-14 Thread Jason Daly
Robert Osfield wrote:
 Hi Neil,

 PagedLOD is what you need to use to balance the load for really large 
 databases.  You databases are likely to huge though, gigabytes rather 
 than terrabytes, and the OSG' paging system allows you to scale to 
 terrabyte database pretty comfortably so you'll do just fine is you 
 manage the scene structure well.  Doing it well is not a trivial task 
 though so expect to be effort in learning about the issues and time 
 experimenting with different scene graph structures.

 You might also want to use some high level cull callbacks that cull 
 subgraphs based on which room floor you are as this way you can get 
 more effective culling.  You can enclose each region with its own 
 bounding mesh - see osgSim::VisibilityGroup for this type of 
 culling.   One thing you want to be careful about is tricks like 
 relaxing such culling to allow the pager to start bringing in the new 
 floor level prior to it becoming visible.

Hi, Neil,

Not sure if this is appropriate for your case or not, but when I had to 
model an office with several rows of cubicles, and then run it on a 
wearable computer, I found the osg::OccluderNode to be a great way to 
bring the frame rate up.  The cubicle walls made obvious, natural 
occluders for all of the complex furniture models inside them, so I only 
ever had to draw the few pieces of furniture that were potentially 
visible.  In your case, you've also got actual floor-to-ceiling walls 
that would make even better occluders.

One potential problem is that I'm not sure how well they scale.  My 
environment was just a section of a building that had an open plan, 
while yours seems a bit larger.  There's a tradeoff between the number 
of occluders in the scene and the potential performance gains, so you 
can't have too many occluders active at once.  However, if you combine 
this with the PagedLOD's and a higher-level culling scheme, you might 
come up with something that both fits in memory and runs pretty quickly.

--J

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Highly detailed closed scene navigations...

2008-04-10 Thread Robert Osfield
Hi Neil,

PagedLOD is what you need to use to balance the load for really large
databases.  You databases are likely to huge though, gigabytes rather than
terrabytes, and the OSG' paging system allows you to scale to terrabyte
database pretty comfortably so you'll do just fine is you manage the scene
structure well.  Doing it well is not a trivial task though so expect to be
effort in learning about the issues and time experimenting with different
scene graph structures.

You might also want to use some high level cull callbacks that cull
subgraphs based on which room floor you are as this way you can get more
effective culling.  You can enclose each region with its own bounding mesh -
see osgSim::VisibilityGroup for this type of culling.   One thing you want
to be careful about is tricks like relaxing such culling to allow the pager
to start bringing in the new floor level prior to it becoming visible.

Robert.

On Thu, Apr 10, 2008 at 9:33 AM, [EMAIL PROTECTED] wrote:

 Hi All,

 Not sure if I've got the correct title for this question, but hopefully
 the forum might be able to help.

 Suppose that I wish to model a complete office in OSG. The office is on
 two floors, the downstairs split into many rooms, the upstairs open plan.
 Desks, computers, windows, doors and everything that you would find in an
 office needs to be modelled, down to the pencil on the desk and the clutter
 in the corner.

 Resource wise we are talking potentially a few thousand models, each with
 two LOD's, all with highly detailed, high resolution textures, and many many
 facets. In fact the design is so big that I can't load it all into memory.

 What are my options ?

 My client won't accept any delay in transiting from one area of a design
 to the next. So multiple design files for the individual areas seems a non
 starter, unless someone can tell me how I could do this without a delay
 moving from one area to the next. Some form of preemptive loading springs to
 mind, but is there an existing mechanism within OSG for handling that sort
 of thing ?

 My thoughts led to the database pager, but I haven't used this at all, and
 would hate to start looking at it only to find a few weeks later that it
 really isn't suitable for my needs.

 Can anyone suggest an approach given the constraints please ?

 Many thanks

 Neil.



 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org