Friday, May 22, 2009

Progressive download

Complete dataset for Earth with 76m sampling is 192GB, after wavelet compression it is roughly 14GB. That is still too much for direct download, and it will be even slightly larger after more detailed data are used for some parts at higher latitudes that are currently only coarsely defined. Possible solution could be to use a coarser sampling, but this rapidly washes out nice terrain features that the fractal cannot supersede easily.
Fortunately it seems we will be able to use the 76m dataset since progressive download works quite nicely.
Wavelet compression of elevation data helps here because it not only nicely compresses the data but perhaps more significantly it arranges the data in layers by level of detail. Particular level of detail for quad-tree nodes can be then downloaded when needed.

Results are that landing on the ground in a mountainous area (where the data are largest) requires around 30-40MB of compressed data to be downloaded progressively and cached. Further data (3-8MB) are needed again only after traveling some 300km from the spot. So it seems that even camera following a cruise missile can be handled too, though possibly it could skip the most detailed data at that speed anyway.

Lastly, the downloader uses libtorrent library so the data can be downloaded using p2p, initially from http seed.

Using finer sampling manifests itself mainly in mountainous areas where high frequency features occur most.
Here's comparison of High Tatras as rendered by the engine and by the nature.

Currently we are working on material mixer that will allow us to assign different materials to different climatic bands, so the peaks here will not be covered by grass and mountain pine will grow at higher elevations too.

Outerra planetary engine


Endre said...

Outerra is brutal. (I was searched for the right word. :) )

I love to fly around the world in Google Earth but I always would like to see tha landscape without human infrastructure. I wonder how interesting could be the sight of my county without human signs. :)

How could I try Outerra?

Brano Kemen said...

We'd really like to release a demo soon but there are still quite a few things we need to iron out before we can do it. Currently we are working on water rendering, better atmosphere and on the support for different climates and land classes, and a million other small things that all this requires.

So I'm afraid it will take some time yet, but eventually you'll be able to fly around the world as it might have looked before some thousands of years :-)

D said...

What application will this landscape engine have for underwater terrain and vehicle physics for ships and subs? After all the planet is largely water and wargaming / simulatons need to represent the operations around, over, and under it.

Brano Kemen said...

Well we are focusing mainly on the rendering, and undersea terrain won't be left out. Water regions use 1km resolution elevation mesh as the basis for fractal refinement. Once there will be a better vegetation mapping system, the underwater ecotypes will have their own vegetation sets and distribution rules. I didn't investigate yet what libraries are there for ship/subs physics, but the engine is meant for integration with anything that can process the elevation and terrain attribute information received from it.

D said...

Does your engine offer realism over long ranges involving "curvature of the Earth"?

For example, ships off the coast, out of visual sight due to the curve, but able to still be engaged with ballistics (which also must be accounted for due to the curve - even if only at ranges where the curve is just becoming obvious).

The possibility of using such a realistic "looking" engine creates interest in advanced wargames of the future.. or upgrades to existing wargames where few developers (if any) have attempted to capture the market on strategies based on global navigation.

Other possibilities include intercontinental flight, sattelite, and "edge of space" scenarios..

Brano Kemen said...

Yes the scenarios you describe are all quite possible. The engine core is mainly about effective rendering of planet at every level of detail, but also about providing data of the planet at required level of detail for physics.

Btw you may want to come to our forums at to discuss these things.