TITLE: Night without Day
NAME: Aaron Gage
COUNTRY: USA
EMAIL: agage@mines.edu
WEBPAGE: http://www.mines.edu/students/a/agage
TOPIC: Night
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: amgnight.jpg
ZIPFILE: amgnight.zip
RENDERER USED: 
    POVray 3.0 for Linux

TOOLS USED: 
    Terrain Maker v1.0, C code written for this image,
            XV to convert images, tgatoppm

RENDER TIME: 
    28h 40m 16s (5707 bogomip hours)

HARDWARE USED: 
    i486DX2/66 with 32 Megs RAM under Linux 2.0.28 (modeling)
               Pentium Pro with 64M RAM under Linux 2.0.29 (rendering)

IMAGE DESCRIPTION: 


   During the short minutes of a solar eclipse, the shadow under the moon
becomes as dark as night; stars become visible and a chill descends on the
Earth.  It is an eerie time, a contradiction of night during day; the only
time when the corona of the sun is visible.


DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 


   Working on an animation for the IRTC (January-April, "Transportation") did
not leave me more than a few weeks to work on this image, and I had even less
free time than usual during those weeks.  Therefore, most of the detail in this
image was generated using tools, some of which I wrote for this purpose.

   Starting with the bottom and working up, the grass is sitting on a height-
field that I created in Terrain Maker.  The individual blades of grass are all
from the same basic prototype; I wrote a program to generate a smooth triangle
mesh of half of an inverted parabola that tapered to a point at the top.  There
are 90 triangles per blade of grass, and there are 2463 blades of grass in the
area right in front of the camera.  By using a triangle mesh, it was possible
to use this many objects without exploding my memory use.

   The next level area, with the lake, is another height field created in TM.
The water is a plane with a bozo surface normal and a dark filtering value.  I
thought that the water might appear too dark, but since the sky it would be
reflecting is dark as well, I felt it was justified.  The effect of long
shadows across the water was totally accidental, but I really liked it.  I
believe that it was caused by the treetops that appear below the eclipse.

   The next region is yet another height field, created again in TM.  There are
1659 triangles in each tree, generated by a program I wrote for that purpose.
There are 5654 trees across the terrain in the area furthest back.  In order
to avoid having these trees appear too dense, I placed 88 trees around the back
of the lake to break up the foreground.

   All of the grass and tree objects were placed as follows.  I used XV to
convert from Terrain Maker's .GHF GIF format to Targa.  I then used tgatoppm
(from the NetPBM library) to get a .PPM file of each of the heighfields.  The
PPM format is simple enough that I could write a program to read in color
values in certain ranges and determine the height based on TM's color map.
The program would then generate POV code and place trees or blades of grass
at specified intervals (with some jitter) between the elevations and distances
I specified, right on the heightfield at that point.  This worked out pretty
well.  The fact that I used triangle meshes for most objects allowed me to do
this without using more than 25MB of RAM at any time, and that includes
three height fields and 9,747,648 triangles!  (Actually, this was before I
discovered the POV bug where triangle mesh textures are always relative to
the origin; I changed the trunks to cones to fix this, which more than doubled
my total memory use.  I was forced to use a different machine to manage this
increase).

   The eclipse is a halo and a sphere with an area light and a point light for
effect.  I based the appearance on some photos I found on a NASA web page:
http://planets.gsfc.nasa.gov/eclipse/SEgallery/SEgallery.html
The sky is a mix of a few POV textures and sky spheres.

   I wasn't sure if this would be on-topic enough, but I hardly had the
time to do justice to the other possibilities for this round.

