Rendering planetary surfaces in high detail is quite difficult because of the enormous amount of data that needs to be handled. The topography of the earth for example in 1 km spatial resolution and with 16 bit height values takes about 1.8 GB. And this is just the plain height values. For rendering it you commonly generate a triangle mesh from this data which will require even more memory.
When rendering only a closeup view of some part of the planet there is no need to handle the whole surface in maximum detail. For this purpose Level of Detail techniques are commonly used.
For rendering a whole planet in high detail it is possible to draw the topography triangle after triangle using scanline rendering techniques and thereby avoid keeping the whole data in memory. The render quality that can be achieved with this technique is quite limited though, realistic shadows are not possible for example.
But POV-Ray offers even more features to help rendering planets. The isosurface shape that has been introduced in POV-Ray 3.5 has two important advantages for this:
- it does only need the plain height data and not require large mesh structures to be generated.
- it makes it possible to interpolate data between the given values as well as combining high and low detail regions seamlessly without the need to combine and resample the data files.
I rendered both Earth and Mars as a whole using this technique. For rendering the whole planet in high detail it is still necessary to split the render into several parts. The 'tiles' need to overlap quite a bit, especially near the shadowline. A modified version of POV-Ray was used for rendering the tiles directly over the previous ones using a previously generated mask.
Information on the used data sources can be found on the pages for the individual planets.
|Earth renders||Mars renders|