Michael Varlik wrote:
> A third approach would be not to use a heightmap at all.
> Instead one could model the whole terrain using 3D Studio
> or something similar. Of course, this would use lots of
> memory since the model file could become extremely lage
> (consider a world like the one of S.T.A.L.K.E.R. which
> is incredibly large).
>
We are just embarking on an update to our terrain system. We store the
entire Earth, in a multi-resolution database format, where some parts
(the ocean) are stored at extremely low resolution (a sample per
kilometer, or worse), and other parts (like a city) are stored at much
higher resolution. Currently, we store the database as a heightmap
(based on a spherical geoid) with cultural models for buildings,
vegetation, etc. We're looking into moving to a more flexible system,
where different parts can be stored in different ways (i e, sculpt a
cave with tunnels in 3dsmax; then layer a heightmap on top of that).
However, if you look at the amount of terrain data used by games such as
Oblivion, World of Warcraft, etc, they don't mind putting more than a
gigabyte of terrain data in their install -- so storing things as meshes
is certainly possible. Interestingly, if you look at how those games
render their terrain, they use tiles that are pieces of a heightmap --
then they add a lot of decoration on top. Oblivion, especially, goes in
hard-core for the trees and ground cover, using the SpeedTree RT
middleware package. Also, those games don't have a very far viewing
distance -- out to a kilometer, at most. They compensate for this by
using a wide-angle camera, so that the visible world still "looks"
large. In our system, we currently have a viewing distance of 10
kilometers, but instead have to trade off on detail.
I'll likely be able to publish some of the work we're doing on terrain
now, so if you're hanging tight for another six months, I might be able
to tell you in more detail :-)
Cheers,
/ h+
|