These are 2 pictures of Mars rendered with my "planet engine". The purpose
of this engine is to be able to fly over the planet surface and also to
go into orbit and see the whole planet from space.
Large scale (around 4km) features are produced with texture map and
height map from the real planet. Small scale terrain is generated by
fractal noise. A detail texture is used to prevent the terrain from
looking too smooth when coming close to the surface.
To render the terrain efficiently, I use the technique of geomipmaps,
which is much faster than the ROAM algorithm I implemented in an earlier
Geomorphing is involved in order to prevent vertex popping.
The atmosphere is rendered using a haze - basically a ring around the
silhouette of the planet - and a fog effect over the surface.
Geomorphing, fog and the usual T&L calculations are done by a vertex
program. For the moment I use the NV_vertex_program but I'll switch to
ARB_vertex_program as soon as nvidia's drivers supporting this extension
are released, so that the engine could run on card other than the
I'd like to credit "Bad Dog" (website) for the idea of using a cube
map texture and Dave Hill (website) for the idea of using
The work of Sean O'Neil (gamasutra
article) and Jon Harrop
were also helpful.
You can download "planet engine" at the following website: