Lee Willis (lwillis++at++inreach.com)
Wed, 15 Apr 1998 08:28:48 -0700
You and Dan are talking about different scenarios.
Dan is talking about having a preconstructed polygonal database at the best
LOD,
and then trying to derive coarser LODs from that set of polygons -- can't
be done.
You're talking about starting from elevation data -- that *can* be done.
Multigen CAT
does it, or you can write you're own.
In very broad strokes, here's how:
1) construct a tesselation to be your base (coarsest) LOD. This can be
something as
simple as two triangles to form a rectangle, or you can use standard
terrain algorithms
(e.g. Delaunay) to construct an irregular mesh.
2) For each subsequen LOD:
2a) Using the previous LOD as a base, choose at most one new point to split
each
existing edge. You'll need to decide how to choose a new point. You can
use
something simple like 'worst vertical error within the neighborhood of the
edge'.
(i.e. compare the polygons to your elevation grid, pick the elevation
point that falls
furthest off the polygonal surface)
More complicated algorithms are of course also possible. (e.g. ones which
may
weight some points more than others)
2b) Re-tesselate
----
You'll notice that this algorithm doesn't start with all the points and
choose which ones to throw out.
It starts with a few points and then decides which new points to add. This
is what I mean by doing
it 'top-down' rather than 'bottom-up'. It's an insertion algorithm rather
than a decimation algorithm.
------------------------------
Lee Willis Virtual Landscape Dermatologist
lwillis++at++terrex.com TERREX
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:57:14 PDT