Submitted by , posted on 03 September 2002

Image Description, by

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 version. 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 GeForce ones.

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 geomipmaps.

The work of Sean O'Neil (gamasutra article) and Jon Harrop were also helpful.

You can download "planet engine" at the following website:


Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.