TITLE: flowing
NAME: Bernd Sieker
COUNTRY: Germany
EMAIL: bsieker@techfak.uni-bielefeld.de
WEBPAGE: --

TOPIC: water
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: flowing.jpg
ZIPFILE: flowing.zip
RENDERER USED: 
    Blue Moon Rendering Tools 2.3.6


TOOLS USED: 
    mops (http://www.informatik.uni-rostock.de/~rschultz/mops.html,
            The Gimp (http://www.gimp.org/)


RENDER TIME: 
    1 day 22 hours 39 minutes 1 second (User CPU time)
             (For full statistics output of the renderer see the file
             "flowing.out" in the zip file.)


HARDWARE USED: 
    AMD 5x86-133, 80MB RAM, NetBSD-1.3.2



IMAGE DESCRIPTION: 

  
  There is nothing really exiting to say about the scene as such, it
  shows a simple bathroom with a sink, a tap and a board with a glass
  and a tube of toothpaste. What's special about this is that it shows
  some of the features of BMRT, i. e. global illumination (using
  energy balancing to calculate diffuse interreflection, also known as
  "radiosity") and a volumetric fog. most other features are
  straightforward raytracing.



DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 


  ---  Beware! This text is very long! ---

  While alpha-testing the new modeller "mops" by Randolf Schultz (see
  above) I thought I'd try what it can do so far and make an entry for
  this round's IRTC. mops only outputs a Renderman Interface
  Bytestream (RIB) as its only format. It saves scenes in a
  proprietary ".mop" format.

  GEOMETRY
  ~~~~~~~~
  The room consists of simple boxes, nothing exiting there.

  For the sink I made several circular spline curves and distorted
  them and then used "build from curves" to make them into a complex
  spline mesh. For the drain I revolved two spline curves.

  For the glass and the thoothpaste tube cap I also used the "revolve"
  function. The tube itself was also built from individual curves, as
  well as the little piece of toothpace squirting out of the tube.

  The tap's main part consists of a spline mesh that was also built
  from cross-sections and some cylinders and paraboloids. The two
  handles are also spline meshes built from cross-sections with a CSG
  shpere for the coloured dot.

  The water pipe was made using the "sweep" function and the jet is
  also built from cross-sections.

  SHADERS
  ~~~~~~~
  Unlike most other renderers RenderMan tm  does not simply use
  "materials", i. e. define certain parameters to a fixed shading
  model, but allows the artist to execute arbitrary algorithms for
  points hit on a surface or to shade the interior of an object. In
  fact writing a small program is the _only_ way to create a material,
  in this case called a "shader". Shaders are written in the
  "Renderman Shading Language", whose syntax is very similar to C.

  Similar to surface color and opacity calculated in "surface"
  shaders, there are "displacement" shaders to create bump or
  displacement mappings, volume shaders to create smoke or fog and
  similar effects and "light" shaders to define the behavior of light
  sources. The Renderman Shading Language is very complex and I do not
  as yet really master it but I can produce most of the effects I
  need.

  For this image I used some of the shaders that are included with the
  Blue Moon Rendering Tools or found elsewhere on the Internet. Shader
  names starting with "BS" ("Bernd Sieker") in the zip file were
  created or modified by me.

  Standard shaders were: arealight (light) for the two lightsourced
  BMGlass (surface) for the glass, BMShiny (surface) for the sink and
  the board BMStucco (displacement) for the walls, DPBlueMarble
  (surface) for the window sill (out of shot), LGDented (displacement)
  for the water jet, LGParquetPlank (surface) for the floor, matte
  (surface) for the walls, noisysmoke (volume) for the fog, plastic
  (surface) for the tube cap.

  Some more words about my own shaders:

  - BSBathTile(Bump)

    For the tiles I created a surface shader and a displacement
    shader, that use a repeating pattern to make tiles and grooves
    with different reflectivity and color. The noisy pattern on the
    tiles themselves however does not repeat over the tiles but is
    (pseudo) random over the entire wall. I also wrote an accompanying
    displacement shader to raise the tiles a little bit above the
    ground and perturb the surface of the tiles a bit to make a
    distorted reflection.

  - BSShinyRustyMetal

    This is based mainly on Larry Gritz' RustyMetal, but adds
    raytraced reflections. It makes a shiny metal with little spots of
    rust on it.

  - BSThreads

    Makes the threads of the toothpaste tube. In the scale the final
    image was rendered they are hardly visible.

  - BSToothPasteStripes

    make the striped toothpaste squirting out of the tube

  - BSpaintedplastic

    A simple plastic like surface, that uses in fact the only texture
    map of the whole scene. In the final shot the texture is hardly
    visible, but I included the TIFF file anyway.

  RENDERING
  ~~~~~~~~~
  
  If you have a RenderMan tm  compliant renderer (Pixar's
  PhotoRealistic Renderman or Larry Gritz' BMRT) you should be able to
  render my scene almost directly. You only need to compile the
  shaders and put them in a place where the renderer will find them.

  All rendering parameters are included in the RIB file itself (which
  is plain ASCII so you can take a look at it as well).

  The image was rendered with full radiosity (which, unlike POV-Ray's
  pseudo-radiosity really does an energy-balancing and surface
  subdivision. In this case the energy balancing was complete to more
  than 99.5%.

  After the radiosity-precalculations the image was rendered using
  distributed raytracing to create soft shadows and volumetric
  effects.

  I used two light sources, one at some distance to create the light
  patches on the wall and sink and simulate direct sunlight, and one
  at the window to the right to provide some global illumination.

  I have included the statistics output of the renderer in the zipfile
  (flowing.out)

