
--- August 1995 "Alien Worlds" Internet Raytrace Competition Entry ---------

Name:		astplant.jpg
Size:		154256 bytes
Date:		30AUG95
Author:		John P. Beale
Email:		beale@jumpjibe.stanford.edu
Hardware:	Pentium-75 with 8 meg ram; HP 9000/712 with 64 meg ram
Software:	POV-Ray 2.2, gforge 1.1f, HF utilities (see below)
Command:	gopov astplant +w800 +h600 +a0.2
Memory Used:	59 megabytes
Render Time:	52 minutes
Comments:

The geometric primitives in POV-Ray are convenient for constructing regular
shapes and geometries, but it isn't so easy to render natural-seeming
landscapes using spheres and planes. Heightfields, or explicit
triangle-meshes give you more flexibility, but you need to generate them
somehow. In the course of making this image I created a number of utility
programs to help me create and manipulate heightfields/meshes:

gforge   generate landscape heightfields (well, I had already written this)
hcon     convert between heightfield formats
copyx    make a heightfield twice as wide 
composit combine heightfields in many different ways
remap    distort a heightfield
orb      convert a TGA to a "spherical heightfield", ie, a triangle mesh
ast_gen  create a field of asteroids, using adaptive detailing
erode	 carve away a heightfield as if rivers were eroding soil

All except the last two are publicly available on my home page, in
<http://www-leland.stanford.edu/~beale/land/gforge> if you want to use them
yourself. Ast_gen is kind of special-purpose, but I can make that available
too if you request. Erode has some problems yet and isn't ready for release.

The only simple primitives in the scene are the smallest asteroids, which
are spheres. Larger asteroids, the moon, and the spiky plant-ball are
triangle meshes from 'orb'. The foreground landscape and the plant stem are
heightfields. Using high-resolution meshes takes up a lot of memory; the
scene uses about 59 meg ram to render; about 1/3 plant-ball and 2/3
asteroids. The heightfields, even though the foreground is 1200x600, are
tiny by comparison. (If POV-Ray stored triangle meshes using pointers to
the vertices, instead of the explicit vertex each time, it would only need
1/3 the memory.)

I developed the scenes and software on my P-75 at home, then used a
University workstation to render the more detailed scene files. (The HP
9000/712 is really fast; the speed of a Pentium-150 if such existed,
according to a crude floating-point-intensive benchmark I tried on it and a
P-120 (gforge -m 1024).  

All in all I spent a lot more time programming than rendering, but
hopefully the utilities will be useful to others, too.  The astplant.zip
file contains the .pov, a script file that will use the above-mentioned
utilities to create all the include files, plus two other heightfields
which are necessary, so anyone can regenerate the image at whatever
resolution you want. The script is also a good demo of how to use the
utilities in your own creations.

-john beale
 beale@jump.stanford.edu
