TITLE: Always running, never the same...
NAME: Jaime Vives Piqueres
COUNTRY: Valencia, Spain
EMAIL: jaime@ctav.es
WEBPAGE: http://www.ctav.es/jaime
TOPIC: WATER
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: running.jpg
ZIPFILE: running.zip
RENDERER USED: 
    POVRay 3.1 (C) POVTeam. (POVMSDOS in a W95 DOS box)

TOOLS USED: 
    Qedit, to write the POV scripts
                PC PAINTBRUSH, to retouch height_fields
                POVRay, to generate some height_fields
                LView31 to convert TGA to JPG (Quality 85%)

RENDER TIME: 
    1 hours 29 minutes 45.0 seconds (so little?, hmmm...)

HARDWARE USED: 
    Intel PPro180 256k cache, main board Intel VS440FX, 48MB RAM


IMAGE DESCRIPTION: 


    A little brook. Not really a river... now. Water is slowly running down,
  stoped in some places by the stones, creating little pools.


DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 


     During the first month, I was not able to find any reasonable idea for
  my (kind of) skills, and I decided to not enter this round and I've started
  then some private attempts to make a convincing stone. I made it with a
  mesh, using arrays for the points and for the triangles. Then I filled by
  hand both arrays for a 1 unit box and created some macros to subdivide and
  randomize automatically this "seed" box shape into something looking as a
  stone.

    This method obtains nice stones, but the they need a too big number of
  triangles (memory) and subdivisions/randomizations (parsing time). So, I was
  forced to think in blobs, but ...how? Well, why to not use the previous
  "mesh" squeleton? Placing blobs in the points (instead of making triangles
  with them), I can get an interesting stone with only a few blobs (bcos the
  stone interior is not filled)... Wow! It worked nice and fast with a few
  subdivisions and randomizations!

    Ok. The stone looked very nicely shaped, but due to it's blob nature, it
  seemed too rounded, like a river stone....

    ...RIVER stone? ...mmmmm... ...WATER!!!! Well, I can enter this round! :)

    At that point, I figured a riverbed plenty of rounded stones, with a low
  water volume, running down slowly. Not so easy as simply putting a water
  wavy-bumped-plane with some of these stones...

    Fisrt of all, I wanted many stones populating the riverbed, so, explicit
  placement was discarded. I tried then a very simple collision-detect macro,
  but, using imaginary "bounding" spheres, the stones looked too much spaced
  between them. So, a random placement was finally used, with many trials to
  obtain a good seed with not many obvious collisions. This way the stones
  look more "naturally" placed (altought there are some evident collisions).

    These stones are placed along the riverbed, which is a height_field done
  with POV-Ray in a separate scene: the tipical B/W HF generator, with a two
  layer texture : a wrinkled texture for the terrain surface and, on top, a
  marble one, showing only one big line to create the riverbed hole. Both the
  riverbed and the stones are textured with the same tree-layer texture, which
  is composed of one standard stone for the main texture, a second, custom,
  gradient y for the dirty on the stones, and last, a gradient  y mapped
  over the whole thing to simulate the underwater stones and bed as if they
  were wet (more dark) and greenish.

    The plants on the banks are the most simple plant I was able to model.
  They are a bunch of random curved leafs grouped togheter with a random
  loop and also randomly pigmented from Gold to DarkGreen. The plants are
  placed by hand, to disimulate some ugly things on the banks.

    The fishes are done very poorly, but well, they are underwater... :( The
  fish model was created with a variant of the stone macro, adapted for the
  fish shape. Nothing to be proud to explain...

    The hard work of this scene was the water height_field. I have done the
  scene first with a simple box for the water, with a wavy normal. When the
  arrangement of stones looked right, I've copied the scene into another one
  (called hf_water.pov, included in ZIP), which I modified to make the stones
  and riverbed totally black, and the water box textureed with a B/W texture
  with the same wavy pattern as the original. Placing the camera above, the
  result was a nice heightfield of the water, with the stones and riverbed
  differenced from it (in black).

    And, why all this work? Well, to create the ilusion of "running" water.
  The wavy pattern normal on the water-box looked nice, but not really as if
  it were running, affected by the stones. So, i figured this method to latter
  edit this height_field in PCPainbrush to "paint" some turbulences around the
  stones (with "glaze" and "smear" tools), following the supposed direction of
  the water. Of course, I've done hundreds of trials to create some convincing
  ripples (not a great job at the end, but not too bad...), and later to place
  the HF aligning the holes with the stones. Also, the texture for the water
  was a hard work with many tests. Finally, a glass finish with ior 1.2 worked
  fine. The pigment is a heavilly filtered white and a cutted fog is under the
  surface of the water to simulate some dirt.

    Well, that's the idea. See the code if you want some more details and
  don't doubt to ask for anything missing or obscure.

    Bye!


    Jaime Vives Piqueres


