Submitted by , posted on 20 July 2001

Image Description, by

Latest pics from my Procedural Planet Demo. Some of you may remember my last IOTD about 3 months ago. Things have got better since! The code is now much faster thanks to some almost decent recursive culling - both horizon culling and view cone culling. The whole planet is held as a bintree, with the initial (level 0) structure containing a simple octahedron. This is split down using a ROAM-type algo with splits based on min distance to tri plus some split tri difference metric. The height of each vertex is set by a call to a multifractal function. The same multifractal is used to generate the terrain texture at the start of the demo (which can take a minute or so).

Tri's are merged when they fall outside the viewcone or fall beyond the horizon. A tricky bit is ensuring you dont try and merge tri's which,in turn, will merge child nodes which you want to keep split.

The wireframe show what happens if you turn merging off and zoom back out.

The bintree depth can get down to 30 or so and still remain interactive. If you apply that split level to the whole planet you'd get 8^30 triangles!

The cloud layer is fake volumetric (10 slices of blended perlin noise).

Still to do - a decent ocean (working on GF3 per-pixel environment bump cube mapping).

demo soon ;)


Rob James

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.