Thursday, July 31, 2008

Intro

Hi everybody.
I'd like to introduce our project - a planetary engine.

Features:
  • Planetary engine that can be used with an elevation dataset, enhancing its resolution using fractal algorithms. Resolution of the elevation data is arbitrary, fractal algorithms further refine the detail down to under-foot resolution. It's possible to have a completely random fractal terrain too, or to sketch the terrain in rough resolution and have the fractal to generate the details.

  • Level of detail ranging from thousands of kilometers down to centimeters.

  • Currently working with earth elevation data (3arc sec dataset remapped to cube faces with roughly 150m resolution).

  • Elevation data are packed using a modifed wavelet compression, the required level of detail can be extracted effectively on the fly. Decompression done on GPU.

  • Finer resolution tiles are generated by fractal algorithm entirely on the GPU.

  • Textures are generated on the GPU from the fractal data using per-pixel computed elevation, slope and terrain curvature; later a material mapper would also utilize climatic data, bedrock maps etc. to more accurately texture the world.

  • Fully asynchronous engine using OpenGL, majority of the algorithms running on the GPU


There are many things to do, though - the material mapper, detail textures, atmospheric model, rendering rivers and water bodies, vegetation etc.

Now some pixel food.

Approaching earth. Until we implement the atmosphere, space is full of air :-)



Heading towards High Tatras in central europe.



Fractal refinement starts to show up. Original elevation data have resolution ~152 meters.



That rock over there ..



.. is roughly 4 meters wide, completely fractal generated.