Original Post
Ok, I have a heighfield terrain.
And it is boring, very boring. I want cliffs, overhangs, etc.
Of course they will be sparse, so I wouldn''t like to drop heighfield idea at all, since most of the terrain will be heighfield anyway.
The question is - how to upgrade a heighfield terrain to support cliffs/overhangs?
It must support geomipmapping and geomorphing, and must be easy to edit.
Currently I think about this option - since the terrain is subdivided into patches (32x32 quads/meters each), just define some special patches, with a cliff line passing through that patch (say ''horizontal'',''vertical'',''diagonal'' cliff-edge-patch), i.e. having a patch, we just draw a line through it, cut the mesh, duplicate the vertices that are on the line, then lift one their copy up. Now we have heighfield that has a nice hole in it - so we can insert a mesh there. That mesh will define the heights of the duplicated vertices. Of course that can''t be an arbitrary mesh - it must have same number of vertices in its ''top'' and ''bottom'' as the heighfield it is connected to. For vertical type of tile - 33 vertices for both. And some vertices at its sides, to connect with other neighbour cliff meshes. To allow user-defines heighfield in the cliff-zone, the mesh must deform with the heighfield - to to render it we must do some transform, like skining.
Some pros - easy to edit and create cliff sequences, little change of the heighfield idea.
Cons - cliff itself is not in the heighfield, so LOD of heighfield and cliffs would be difficult to synchronize. Limited cliff variations (since they are tile-based).
Any ideas/suggestions/advices?