I have a planet-size realtime optimally adapting mesh, where I have
generated the height values by midpoint displacement.
The terrain looks just great at first glance, but then I realize that
there
are edges (ridges) in the terrain at all levels.
The terrain started as a cube with 12 triangles. Then I subdivided and
subdivided until i has the desired level of detail. I started out by
offsetting points from their midpoint by 500km, then 250, then 125 etc.
The
result is that the triangle edges which were generated at the first level,
they are very prominant, since the subsequent edges are offset by only
half.
When I move in closer, I see that the smaller offset edges have the same
problem when compared to the even smaller ones.
The question is if this is something that will allways occure with
midpoint
displacement, or if I am getting it all wrong. An example can be seen at
www.greenleaf.dk/ridges.JPG where I made the situation more extreme to
clearly show the problem.
I might add that when calculating the midpiint (to offset) from two
points,
i do not take the linear midpoint, but rather the curved one. I have not
read that this is what to do, but it makes sence. Given two points A and
B,
I calculate a linear midpoint M as (A+B)/2, and then move it outwards to a
position which is at the average radius, so that (|A|+|B|)/2=|M|*s=|M'|..
where s is some scaling.


|