Re: [osg-users] Highly detailed closed scene navigations...
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...
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...
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...
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...
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