Re: [osg-users] Huge triangle mesh / Geometry Clipmap

2009-09-17 Thread Robert Osfield
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

2009-09-17 Thread David Angelo
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

2009-09-17 Thread David Angelo
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

2009-09-17 Thread David Angelo
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

2009-09-17 Thread Chris 'Xenon' Hanson
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

2009-09-17 Thread Mike Connell

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

2009-09-17 Thread Martin Beckett

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

2009-09-16 Thread Robert Osfield
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

2009-09-16 Thread David Angelo
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

2009-09-16 Thread Brian R Hill
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

2009-09-16 Thread Chris 'Xenon' Hanson
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

2009-09-16 Thread Martin Beckett
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