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
demo soon ;)