Re: [osg-users] Huge triangle mesh / Geometry Clipmap
Hi David, On Wed, Sep 16, 2009 at 8:26 PM, David Angelo vonengel.gro...@googlemail.com wrote: The input data I currently have is a regular grid with holes. At the moment support for irregular meshes is not needed. All mesh manipulationa will be based on the regular grid. Do you have a hint how to efficiently triangulate this regular grid with holes? Are you able to store the data as a height field with z values set a no data values? One avenue I would explore would be to be to tile the whole grid, with each tile something like 100x100, and then position them down in the vertex program using the height field of each tile being read from a texture and place into the right place in 3D and tag the non data values so that in the geometry shader you can discard all triangles that have a non data value at a corner. The approach would be about minimizing the amount of geometry data you pass to the GPU, you could also balance the load by passing the tile mesh at a lower or higher density. One thing to note is that you a mesh of 1000x1000 that fills the whole screen will have roughly on vertex per pixel, with through even more data than this will do nothing more for the visual effect other than overload all your CPU + GPU memory, buses and processing. This means you should be able to decimate your data pretty aggressively without affecting the visual results if you chose your LOD scheme well. Personally I wouldn't chase up a CLOD scheme as it'll just overload the CPU and buses between the CPU and GPU. You could look into using the GPU to do CLOD, but I'd guess that efficiently storing the data will be the critical thing rather than fine grained LOD. Robert. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Huge triangle mesh / Geometry Clipmap
Hi Robert, hi folks, The input data I currently have is a regular grid with holes. At the moment support for irregular meshes is not needed. All mesh manipulationa will be based on the regular grid. Do you have a hint how to efficiently triangulate this regular grid with holes? Are you able to store the data as a height field with z values set a no data values? Yes I could do this in a preprocessing step. One avenue I would explore would be to be to tile the whole grid, with each tile something like 100x100, and then position them down in the vertex program using the height field of each tile being read from a texture and place into the right place in 3D and tag the non data values so that in the geometry shader you can discard all triangles that have a non data value at a corner. I think this is a good idea, since I get rid of the need to triangulate a mesh with non-simple polygon holes and I can apply a simple (and fast) triangulation of the regular mesh. I still have to consider the irregular boundaries of this mesh, but this should not be a problem. Do you think it would be beneficial to extend the mesh at its borders with empty triangles (which will be discarded by the geometry shader), to create a rectangular area? Most probably this is easier than to consider the different cases (especially when building a LOD hierarchy. The approach would be about minimizing the amount of geometry data you pass to the GPU, you could also balance the load by passing the tile mesh at a lower or higher density. One thing to note is that you a mesh of 1000x1000 that fills the whole screen will have roughly on vertex per pixel, with through even more data than this will do nothing more for the visual effect other than overload all your CPU + GPU memory, buses and processing. This means you should be able to decimate your data pretty aggressively without affecting the visual results if you chose your LOD scheme well. This is one of the crucial points. As far as I have seen, the domain experts often look at the complete mesh and then zoom in and investigate interesting regions. Therefore, I need a way to reduce the complexity of the data. Has anybody experience with an specific algorithm or can suggest one? To make things more interesting, the mesh, hence all of its LODs must be editable during runtime. Bummer. One idea would be to precompute the hierarchy at startup and change the different tiles of the LOD at runtime. Has anybody experience with this? Personally I wouldn't chase up a CLOD scheme as it'll just overload the CPU and buses between the CPU and GPU. You could look into using the GPU to do CLOD, but I'd guess that efficiently storing the data will be the critical thing rather than fine grained LOD. You are right. The efficient storage of the data is the most critical part. For the time beeing I will stick to LOD. I like the idea to use the GPU to perform a continuous LOD, but my priority now is to be able to display such huge grids with holes at interactive framerates and be able to manipulate (e.g. cut holes) them. Thanks for your input! Cheers, David ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Huge triangle mesh / Geometry Clipmap
Hi folks, thanks for the link. I already took a look at this project. It really looks impressive. Currently, all my data is based on regular grids. If it is possible to tag all lattice points of the grid which are located in holes, I could get rid of them later in the geometry shader. In this case I would simply triangulate a regular grid without any holes, which is pretty fast. Cheers, David On Wed, Sep 16, 2009 at 11:34 PM, Martin Beckett m...@mgbeckett.com wrote: For the streaming mesh have you had a look at http://www.cs.unc.edu/~isenburg/sd/ It's by the same team that did the famous 'triangle' program - but this is free (MIT licence) Cheers, Martin -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=17440#17440 ___ 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] Huge triangle mesh / Geometry Clipmap
Hi Brian, hi folks, thanks for the hint. I have a look at streaming meshes. Cheers, David On Wed, Sep 16, 2009 at 9:40 PM, Brian R Hill bhil...@csc.com wrote: Have you looked into streaming meshes? I've only looked at them briefly, but they look somewhat related. Brian This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. • -osg-users-boun...@lists.openscenegraph.org wrote: - To: OpenSceneGraph Users osg-users@lists.openscenegraph.org From: David Angelo vonengel.gro...@googlemail.com Sent by: osg-users-boun...@lists.openscenegraph.org Date: 09/16/2009 03:26PM Subject: Re: [osg-users] Huge triangle mesh / Geometry Clipmap Hi Robert, hi folks, last century. ;-) Good to have an expert in this area. About VPB and osgEarth. I think so too. Nevertheless, they are both great tools! Thumbs up for the developers. The input data I currently have is a regular grid with holes. At the moment support for irregular meshes is not needed. All mesh manipulationa will be based on the regular grid. Do you have a hint how to efficiently triangulate this regular grid with holes? Since the resulting mesh will be pretty big and may not fit in the texture memory (I also have to share resources with a ravenous volume renderer), my first thought was using a continious LOD (no popping) approach. Does anybody have experience with such an algorithm? This algorithm may also be interesting for VPB. Ah, I almost forgot, the hole algorithm must be an out-of-core solution. So most propably I need to do paging at least between the main memory and the texture memory. Paging between hard disk and main memory may not be needed, since they normally have machines with quite a lot of memory. Thanks in advance for your comments. Cheers, David On Wed, Sep 16, 2009 at 10:27 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi David, I used to work in the oil-gas sector so I'm rather familiar with needs for visualizing large seismic horizon meshes, albeit a bit rusty - it was last century that I did the work :-) VPB and osgEarth aren't likely to be too helpful for you as they really aren't geared up for the quite specific type of needs you have. What route you take depends upon some of the constraints that you might be able to put upon the geometry. For instance, is it a regular grid with holes, or does this mesh need to be an irregular triangle mesh? Robert. On Tue, Sep 15, 2009 at 8:40 PM, David Angelo vonengel.gro...@googlemail.com wrote: Hi folks, I am starting to work on a project, where I have to render and manipulate huge triangle meshes (~200 mio. vertices). The meshes are seismic horizons, which are quite similar to ordinary terrain meshes. However, theses meshes can and will have holes. I think both VPN and osgEarth (which are pretty cool and I used them in different contexts) are not suited for this purpose. For the rendering part, my first idea was to use the Geometry Clipmap: http://research.microsoft.com/en-us/um/people/hoppe/geomclipmap.pdf technique by Losasso Hoppe. Has anybody already implemented it (preferably with OSG), or does anybody know if this technique supports meshes with holes? Perhaps an integration of this technique into VPB would also be worth thinking of. What do you think? Cheers, David ___ 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 ___ 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Huge triangle mesh / Geometry Clipmap
David Angelo wrote: To make things more interesting, the mesh, hence all of its LODs must be editable during runtime. Bummer. One idea would be to precompute the hierarchy at startup and change the different tiles of the LOD at runtime. Has anybody experience with this? I really think your best bet is to expand the input data to a rectangular input, use OSG's PagedLOD and tag your no-data vertices somehow. Then you can have a vertex shader and a fragment shader that can discard polygons that touch no-data, as well as allowing some sort of runtime-override of the vertex attributes to feed modified height values to the vertex shader. I'd be happy to consult on a project like this if you think it's beyond you. -- Chris 'Xenon' Hanson, omo sanza lettere Xenon AlphaPixel.com PixelSense Landsat processing now available! http://www.alphapixel.com/demos/ There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Huge triangle mesh / Geometry Clipmap
Martin Beckett wrote: For the streaming mesh have you had a look at http://www.cs.unc.edu/~isenburg/sd/ It's by the same team that did the famous 'triangle' program - but this is free (MIT licence) Cheers, Martin I don't want to rain on anyone's parade, but I don't believe that's accurate. The code on that page isn't free, and it certainly isn't under the MIT license - at least according to the source. Have you heard differently from the authors? That would be good news indeed. Mike ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Huge triangle mesh / Geometry Clipmap
Mike Connell wrote: Have you heard differently from the authors? That would be good news indeed. Sorry my memory was playing tricks, the only license statement is: This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. I haven't contacted the authors, however it does claim to have been written under various NSF/DARPA grants so there is possibly a good claim it should be public domain. Martin -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=17470#17470 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Huge triangle mesh / Geometry Clipmap
Hi David, I used to work in the oil-gas sector so I'm rather familiar with needs for visualizing large seismic horizon meshes, albeit a bit rusty - it was last century that I did the work :-) VPB and osgEarth aren't likely to be too helpful for you as they really aren't geared up for the quite specific type of needs you have. What route you take depends upon some of the constraints that you might be able to put upon the geometry. For instance, is it a regular grid with holes, or does this mesh need to be an irregular triangle mesh? Robert. On Tue, Sep 15, 2009 at 8:40 PM, David Angelo vonengel.gro...@googlemail.com wrote: Hi folks, I am starting to work on a project, where I have to render and manipulate huge triangle meshes (~200 mio. vertices). The meshes are seismic horizons, which are quite similar to ordinary terrain meshes. However, theses meshes can and will have holes. I think both VPN and osgEarth (which are pretty cool and I used them in different contexts) are not suited for this purpose. For the rendering part, my first idea was to use the Geometry Clipmap: http://research.microsoft.com/en-us/um/people/hoppe/geomclipmap.pdf technique by Losasso Hoppe. Has anybody already implemented it (preferably with OSG), or does anybody know if this technique supports meshes with holes? Perhaps an integration of this technique into VPB would also be worth thinking of. What do you think? Cheers, David ___ 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] Huge triangle mesh / Geometry Clipmap
Hi Robert, hi folks, last century. ;-) Good to have an expert in this area. About VPB and osgEarth. I think so too. Nevertheless, they are both great tools! Thumbs up for the developers. The input data I currently have is a regular grid with holes. At the moment support for irregular meshes is not needed. All mesh manipulationa will be based on the regular grid. Do you have a hint how to efficiently triangulate this regular grid with holes? Since the resulting mesh will be pretty big and may not fit in the texture memory (I also have to share resources with a ravenous volume renderer), my first thought was using a continious LOD (no popping) approach. Does anybody have experience with such an algorithm? This algorithm may also be interesting for VPB. Ah, I almost forgot, the hole algorithm must be an out-of-core solution. So most propably I need to do paging at least between the main memory and the texture memory. Paging between hard disk and main memory may not be needed, since they normally have machines with quite a lot of memory. Thanks in advance for your comments. Cheers, David On Wed, Sep 16, 2009 at 10:27 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi David, I used to work in the oil-gas sector so I'm rather familiar with needs for visualizing large seismic horizon meshes, albeit a bit rusty - it was last century that I did the work :-) VPB and osgEarth aren't likely to be too helpful for you as they really aren't geared up for the quite specific type of needs you have. What route you take depends upon some of the constraints that you might be able to put upon the geometry. For instance, is it a regular grid with holes, or does this mesh need to be an irregular triangle mesh? Robert. On Tue, Sep 15, 2009 at 8:40 PM, David Angelo vonengel.gro...@googlemail.com wrote: Hi folks, I am starting to work on a project, where I have to render and manipulate huge triangle meshes (~200 mio. vertices). The meshes are seismic horizons, which are quite similar to ordinary terrain meshes. However, theses meshes can and will have holes. I think both VPN and osgEarth (which are pretty cool and I used them in different contexts) are not suited for this purpose. For the rendering part, my first idea was to use the Geometry Clipmap: http://research.microsoft.com/en-us/um/people/hoppe/geomclipmap.pdf technique by Losasso Hoppe. Has anybody already implemented it (preferably with OSG), or does anybody know if this technique supports meshes with holes? Perhaps an integration of this technique into VPB would also be worth thinking of. What do you think? Cheers, David ___ 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Huge triangle mesh / Geometry Clipmap
Have you looked into streaming meshes? I've only looked at them briefly, but they look somewhat related. Brian This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. • -osg-users-boun...@lists.openscenegraph.org wrote: - To: OpenSceneGraph Users osg-users@lists.openscenegraph.org From: David Angelo vonengel.gro...@googlemail.com Sent by: osg-users-boun...@lists.openscenegraph.org Date: 09/16/2009 03:26PM Subject: Re: [osg-users] Huge triangle mesh / Geometry Clipmap Hi Robert, hi folks, last century. ;-) Good to have an expert in this area. About VPB and osgEarth. I think so too. Nevertheless, they are both great tools! Thumbs up for the developers. The input data I currently have is a regular grid with holes. At the moment support for irregular meshes is not needed. All mesh manipulationa will be based on the regular grid. Do you have a hint how to efficiently triangulate this regular grid with holes? Since the resulting mesh will be pretty big and may not fit in the texture memory (I also have to share resources with a ravenous volume renderer), my first thought was using a continious LOD (no popping) approach. Does anybody have experience with such an algorithm? This algorithm may also be interesting for VPB. Ah, I almost forgot, the hole algorithm must be an out-of-core solution. So most propably I need to do paging at least between the main memory and the texture memory. Paging between hard disk and main memory may not be needed, since they normally have machines with quite a lot of memory. Thanks in advance for your comments. Cheers, David On Wed, Sep 16, 2009 at 10:27 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi David, I used to work in the oil-gas sector so I'm rather familiar with needs for visualizing large seismic horizon meshes, albeit a bit rusty - it was last century that I did the work :-) VPB and osgEarth aren't likely to be too helpful for you as they really aren't geared up for the quite specific type of needs you have. What route you take depends upon some of the constraints that you might be able to put upon the geometry. For instance, is it a regular grid with holes, or does this mesh need to be an irregular triangle mesh? Robert. On Tue, Sep 15, 2009 at 8:40 PM, David Angelo vonengel.gro...@googlemail.com wrote: Hi folks, I am starting to work on a project, where I have to render and manipulate huge triangle meshes (~200 mio. vertices). The meshes are seismic horizons, which are quite similar to ordinary terrain meshes. However, theses meshes can and will have holes. I think both VPN and osgEarth (which are pretty cool and I used them in different contexts) are not suited for this purpose. For the rendering part, my first idea was to use the Geometry Clipmap: http://research.microsoft.com/en-us/um/people/hoppe/geomclipmap.pdf technique by Losasso Hoppe. Has anybody already implemented it (preferably with OSG), or does anybody know if this technique supports meshes with holes? Perhaps an integration of this technique into VPB would also be worth thinking of. What do you think? Cheers, David ___ 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 ___ 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] Huge triangle mesh / Geometry Clipmap
David Angelo wrote: Since the resulting mesh will be pretty big and may not fit in the texture memory (I also have to share resources with a ravenous volume renderer), my first thought was using a continious LOD (no popping) approach. Does anybody have experience with such an algorithm? This algorithm may also be interesting for VPB. Most CLOD algorithms dislike holes. I know Robert's preference in VPB is to avoid CLOD in favor of discrete LODs (DLOD?). CLODs require dynamic geometries and discrete LODs require only the shoving of big chunks of triangles around. On-GPU CLOD might be a nice approach, but the DLOD approach has served very well with current graphics hardware that might bottleneck on CPU-served CLOD geometry. Whether CLOD or DLOD, You might consider filling the holes in your dataset with interpolated values, then using texturing to knock visible holes into the surface. -- Chris 'Xenon' Hanson, omo sanza lettere Xenon AlphaPixel.com PixelSense Landsat processing now available! http://www.alphapixel.com/demos/ There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Huge triangle mesh / Geometry Clipmap
For the streaming mesh have you had a look at http://www.cs.unc.edu/~isenburg/sd/ It's by the same team that did the famous 'triangle' program - but this is free (MIT licence) Cheers, Martin -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=17440#17440 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org