6 - Frequently Asked Questions

Now that you've been blasted with lists of FTP sites, utilitites,
software, books, etc., etc., the only questions you could possibly have
left to ask are those that...erm...aren't about FTP sites, utilities,
software or books, I suppose.  So this section attempts to answer all
the other questions that don't fit in above.

------------------------------

Subject 6.1 - "Can I post binaries/images to this group?"

  In a word, NO.  The group is part of the comp.graphics hierarchy
  which should be, and is, strictly non-binary.  The reason for this is
  that uuencoded binaries tend to be very large.  By restricting binary
  postings to the comp.binaries and alt.binaries hierachies, those
  sites who do not want to carry large volume groups can easily ignore
  anything under these two streams.

  Remember that most sites pay to transfer and store news and if they
  find that comp.graphics.rendering.raytracing is getting too
  expensive, they can just stop carrying it.  That is their right and
  priviledge.  Also remember that many individuals download this group
  via modems and pay for every byte.  They tend to get a bit annoyed
  when they have to fork out lots of money to download stuff they might
  not even want.

  But what if you're really desperate to share with us your latest ray
  tracing you've done depicting a mutant star camel exploding in a
  super nova while naked dancers melt into a checkered floor? (The
  checkered floor always turns up sooner or later).  Great!  I'm sure
  we'd love to see it, you should post it to
  alt.binaries.pictures.misc.
  
  If you're posting it (obviously not to c.g.r.r), you should remember
  to uuencode it and split it into small (less than 64k) parts.  Make
  sure to use an informative title like:

    RAY TRACING: MUTANT.GIF: mutant star camel scene, part 1 of 6

  and include a text posting (part 0 of n) that describes the picture,
  states what format it's in (.gif, .jpg, etc.), what size it is, how
  many colours, and anything else you want to mention.  The more you
  put, the better.

  You can then post a message to comp.graphics.rendering.raytracing,
  along with a few lines saying "I've just posted this image to
  alt.binaries.pictures.misc".  By the way, ray tracing pictures
  generally get a good response over in a.b.p.m and you'll often see
  request for them in alt.binaries.pictures.d (discussion group).

  If it's a utility you're posting, it should go to alt.binaries.misc
  instead of alt.binaries.pictures.misc, but the same process applies.

  The other alternative is to upload the picture or utility to an ftp
  site and use comp.graphics.rendering.raytracing to announce it in
  the same way.

------------------------------

Subject 6.2 - "Where can I find model data for..."

  The former Avalon site has been closed down, and the Avalon model
  site has been moved to Viewpoint, a commercial model vendor, as of
  07/95.  It is the promise of Viewpoint that the Avalon data remain
  freely available to all.  Avalon is now located at:
  ftp://avalon.viewpoint.com/avalon/ or
  http://www.viewpoint.com/avalon.html or
  ftp://ftp.povray.org/pub/mirrors/avalon/ is a mirror.

  Avalon is probably the best site you'll find for free 3D model data.
  However, the home page at Viewpoint also has pointers to their free
  and commercial models if you can't find what you need at Avalon.
  Another commercial model vendor on the net is MeshMart at:
  http://cedar.cic.net/~rtilmann/mm/

  (See also 2 - FTP Sites, Web Sites, Mailing Lists)

------------------------------

Subject 6.3 - "How can I view these pictures?"

  If you're using UNIX, you can use XV which is available as a source
  distribution from many sites, or ImageMagick, again available on many
  sites.  It should be noted that XV v3.00, which is installed at some
  sites, does not display TGA files, although XV v3.10 and ImageMagick
  do.

  If XV and/or ImageMagick do not support a particular image format you
  have, it probably doesn't actually exist :-).  However, if you need
  to handle large numbers of images in batch form, or if you don't have
  an X windows display and you want to manipulate images (but not
  necessarily view them), chances are that the netpbm package is what
  you need.  Netpbm is a command line utility, and can converting
  images from practically any format to any other, but it does not
  display the images themselves.

  If you're on a PC and using DOS, you'll probably want to get one of
  the myriad of image display programs, such as QPV or PICLAB to do
  the displaying.  For MS-Windows users, lview seems to be a popular
  display/editing program, and for OS/2 there is PMJpeg.  There are
  kegs-o-megs of PC image viewers at most ftp sites, so take your time
  and find one you like that has the features you need.

  These packages are available in countless locations on the Internet
  (see 4 - Utilities and Other Software).

------------------------------

Subject 6.4 - "What is the difference between rendering and ray-tracing?"

  Ray tracing *is* rendering.  Rendering is the term which refers to
  the act of "painting" a digital image from some stored data.  There
  are many different methods of rendering, such as ray tracing, radiosity,
  z-buffer, painter's algorithm, etc.  Each method has its own merits,
  usually a trade-off between speed and quality or capabilities.

------------------------------

Subject 6.5 - "This picture doesn't trace."

  I know it might sound a bit obvious, but have you read the error
  message and tried to understand it?  Did you look in the manual?
  Still nothing?  I know I sound cynical, but it's not uncommon for
  people to have something go wrong and then post straight to the 'net
  without even *trying* to figure out what went wrong.  A little
  patience and thought will solve the problem a lot quicker.

  Here's some common problems:

  * POV-Ray versions
    A lot of people get fooled when trying to trace old POV-Ray code
    with a new version.  Use the -MV1.0 option or use #version in the
    code to get the parser to treat it as old code.  You may find that
    you have to change any references to "shapes.inc" to "shapes.old".

    The POV-Ray docs can help you out here.  What do you mean "I
    have't read the docs"?  Go read them.

  * Include files
    Have you checked that you've #included any include files that your
    scene requires?  Include files tend to define colours, textures or
    objects that your scene may use.  Make sure you've told the ray
    tracer where to look for include files.  For example, POV-Ray uses
    the -L option to specify the directory where include files are, eg.

      -L/home/adilger/povray/include

    The POV-Ray docs can help you out here.  What do you mean "I haven't
    read the docs"?  Go read them.

------------------------------

Subject 6.6 - "I traced my picture, but I can't see anything."

  If the picture is totally dark, there are a few things you can check:

  * Have you added any light sources?

  * Are the light sources blocked by anything?  (This is a favourite of
    Andy's - he puts in a large sphere for the sky and then adds or
    moves lights *outside* the sky sphere.  Where did the lights go?)

  * Where are you looking?  Is your camera inside an object (oops)?

  * Have you applied textures to your objects.  If you haven't, you
    might find that your ray tracer defaults your object to be black.

  Have you actually put anything into the picture?  This isn't as silly
  as it sounds.  If you #declare on object (POV-Ray, again) like this:

    #declare my_object=
    union {
      sphere { <0, 0, 0> 1 }
      cylinder { <-2, 0, 0> <2, 0, 0> 0.5 }
    }

  Then you have just told the ray tracer that when you refer to
  "my_object", you actually mean a union of a sphere and a cylinder as
  shown.  To use the object, you must explicitly put it in:

    object { my_object }

------------------------------

Subject 6.7 - "I traced my picture, but the output is garbage."

  Did you specify the correct output file format?  Most ray tracers
  have several options for output file formats.  If you haven't
  explicitly specified the output format, there's a good chance it's
  not what you want it to be.  Also note that using a file name with an
  extension (like .TGA) does not necessarily mean this is the format of
  image.  This is a common mistake with POV-Ray 2.2 for UNIX which uses
  an obscure output format by default.  Similarly, if you don't compile
  in the URT support for Rayshade, you will get MTV format output files.
  What is MTV you ask?  It's one of the very first freeware ray tracers,
  written by Mark Terrence vandeWettering, now with Pixar.

  Some image display programs use the file extension to determine the
  file contents, so if you call the file output.tga, and it's actually
  a PNG image, your display program may complain that the TGA file is
  corrupted.  This is especially a problem with TGA files, since they
  do not start with a "magic number", and this makes file identification
  difficult.

------------------------------

Subject 6.8 - "What does this mean..."

  Some ray tracing and related terms you might come across:

  * CSG (Constructive Solid Geometry) - A term describing ways in which
    you can build up complex shapes from simple primitives like cubes,
    speres, and cylinders.  By combining the primitives in different
    ways, namely adding them together (union), taking one away from the
    other (difference) or getting the part where they intersect
    (intersection) you can make small building blocks, which can in
    turn be used to make more complex CSG objects.

  * Height Field - A height field can be thought of as a 3 dimensional
    bar graph.  It is a grid of data where the value at any point
    corresponds to the "altitude" of that point.  Height fields are
    typically stored as grayscale images with the lighter areas being
    higher, and the darker areas lower.  Heightfields are usually used
    to create natural looking terrain, such as mountains, hills, and
    craters, but they can be used anywhere that you need to extrude a
    shape (eg a prism, text, or an embossed pattern).  You can get
    software that will convert actual altitude data into a heightfield
    image (DEM2POV), software that will create realistic heightfields
    mathematically (HF-Lab, Terrain Maker, Vista Pro, Fractint), or
    software to create raised patterns (Level Connector).

  * Radiosity - Most ray tracers use an empirical lighting model - that
    is the parameters specified for lights and objects do not really
    correspond to physical properties, but are selected to make things
    look good.  Radiosity calculates the reflections and lighting
    between all objects in the scene, and gives a more realistic
    rendering of the scene.  This method is very good at representing
    the diffuse lighting in a scene, while ray tracing is better at
    handling the reflection.  In some renderers, both techniques are
    used to give spectacular results.  Needless to say, radiosity is
    even more computationally complex than ray tracing.

------------------------------

Subject 6.9 - "Rotating/scaling this object doesn't work properly."

  With most ray tracers, rotating on object in a given direction
  rotates it around the axis *not* around its own centre.  If your
  object is centred on the X axis and you rotate it in the X direction,
  it will spin.  However, if it is some distance from the axis and you
  rotate it, it will "orbit" the X axis, tracing a circle with a radius
  equal to the distance of the object from the axis.

  Confused?  Think of the Earth spinning on it's axis.  It doesn't go
  anywhere because it is centred on its axis (ignoring rotation around
  the Sun).  The moon, however is some distance from the Earth's axis
  and as it rotates around that axis, it travels through space,
  orbiting the Earth.

  To work out which way something will move, you need to know if your
  ray tracer uses a left or a right handed co-ordinate system.
  POV-Ray, for example, uses a left handed system.  To work out which
  way an object will turn, point your thumb in the positive direction
  of the axis you're rotating in and the way you fingers curl indicate
  the direction of positive rotation.  The hand you use to do this
  depends on your ray tracer; left-handed, use left hand, right handed,
  use right hand.

  The same thing goes for scaling.  If your object is already some
  distance away from the origin, that distance will also get scaled.
  For example, if you have a sphere 2 units away from the origin, with
  a radius of 1 and you scale it by 2, the radius will now be 2 *and*
  the distance from the origin will be 4.

------------------------------

Subject 6.10 - "Why is the Z axis is pointing the wrong way?"

  A common complaint in c.g.r.r is why POV (or other computer graphic
  program) has the Z axis pointing in the "wrong" direction.  What's
  wrong with the people who make this software?  Didn't they take
  elementary geometry?

  The truth is, what is the right co-ordinate system in computer
  graphics, depends on where you started out.  Engineering and mathematics
  people use a right-handed co-ordinate system.  The X and Y axes form a
  horizontal plane, with X increasing to the right and Y increasing
  "upwards".  When we have a Z axis, it is usually considered the
  "height" or "altitude" axis, and it would be coming out of the page
  of a 2D graph.
  
  The origins of computer graphics was in 2D, shown on a monitor, with
  the same X and Y axes (X positive to the right and the Y positive
  upwards).  When 3D was added in, the Z axis was used as the "depth"
  into the monitor, since one was only interested in items "in front"
  of the user, and not those behind where they couldn't be seen.  Since
  it was easiest to only store positive numbers for the Z value, the Z
  axis is positive away from the viewer.  This is a left-handed
  co-ordinate system.
  
  Because of the way the graphics appear on the monitor, it is often
  easiest to consider that Y is the vertical axis, since it is consistent
  for both 2D and 3D graphics.  As for which one is better - you decide.
  However, don't complain about software which uses the one that you
  don't like, since you can always go ahead and write your own software...

------------------------------

Subject 6.11 - "Which 3D accelerator card will speed up raytracing best?"

+ The answer to this question is generally "None".  Commercial 3D cards
+ accelerate the transformation of 3D polygons, shading, z-buffering,
+ rasterizing, and related functions.  These are all related to scan-line
+ rendering, but are not really as useful for ray tracing.  It's not
+ because 3D cards are new, and it's not because people who write ray
+ tracers don't know about these cards, but because these cards are simply
+ not useful for speeding up ray tracing.

------------------------------

Subject 6.12 - "Who is..."

  This section looks at some of the ray tracing artists and people who
  are particularly well known for their work, be it images or software.
  The list is in strict alphabetical order as I don't fancy the task of
  trying be subjective about who's pictures are better than who's.

  A VERY IMPORTANT POINT: A lot of these people have to pay for their
  Email and 'net access.  DO NOT send them large images or other posts
  without checking with them first.  Certain members of the POV team
  have recently had some pretty hideous costs (like $30 for 1 mail
  item) because of this.  (Was that OK, Dan?)

  * Truman Brown
    Truman Brown <71477.221 at compuserve.com> is particularly well known
    for his "woild" series of images.  He is a self-confessed "Obsessed
    Programmer / Trace-aholic" and has written a range of very useful
    utilities, including Connect The Dots Smoother (CTDS), Circle
    Master (CM) and its companion, HYPE.

    He has an understanding wife but his kids wish he didn't hog the PC
    so much.  His utilities are available from most FTP sites and you
    can check out some of his images at:
    ftp://ftp.povray.org/pub/povray/Hall-Of-Fame/
    http://www.povray.org/hof/

  * Dan Farmer
    One of the original POV-Ray development team, Dan Farmer has
    created a large portion of the POV-Ray demo scenes, as well as
    other amazing images including the stunning "frosty.gif".  Dan
    explains how he did it:

   "The image was done in POV-Ray.  It's really quite simple.  The face
    is a freely available dataset produced by Mira Imaging... I'm sure
    it exists on the net somewhere.  The fractal shape is done with
    Fractint, using the 16 bit continuous potential features.  It's an
    inverted Mandelbrot set.  The silver texture is Silver1 in
    textures.inc.  The sky is the usual bozo, but it's mapped onto a
    plane, not a sphere.  Floor is an imagemapped plane.  That's all
    there is to it!"

    Frosty's at ftp://ftp.povray.org/pub/povray/Hall-Of-Fame/frosty.gif
    The Mira dataset ftp://ftp.povray.org/pub/povray/scenes/mirpov.zip

    Unfortunately, Dan rarely releases his source code any more due to
    certain unscrupulous sorts using his images for commercial purposes
    without payment or even permission.  Luckily, he has made the scene
    file for this image available on the POV-Ray CD-ROM which is also
    available online (see 1 - Ray Tracing Software).

    Dan has taken a leave of absence from the POV Team because he wants
    to spend more time with his real life than answering questions.  He
    asks that people not contact him with questions about POV-Ray.

  * Eric Haines
    Eric A. Haines <erich at eye.com> has probably done as much as anyone
    to make ray-tracing as understandable and accessible as it
    currently is.  His many, many hours compiling the Ray Tracing News
    helped lots of people understand and develop ray tracing software,
    as well as serve as a forum for discussion between those interested
    in the art.  (See 5 - Further Information and Resources).

  * Mike Miller
    If you ever need inspiration to see what can be done using POV-Ray,
    a piece of graph paper and a pencil, then look at some of Mike
    Miller's <70353.100 at compuserve.com> images.  His pictures never
    fail to impress and he has undoubtedly produced some of the best
    pictures ever created with POV-Ray.  Mike created many of the demo
    scenes that come with POV-Ray and he is responsible for the
    excellent textures in "stones.inc".

    The cover story of the January 1994 IEEE Computer Graphics and
    Applications is entitled "Mike Miller's Many Hats" and looks at his
    work and includes many of his pictures.

    You can find his images and scene files on many sites.  A good one
    to start with is ftp://ftp.povray.org/pub/povray/Hall-Of-Fame/ or
    ftp://ftp.povray.org/pub/povray/images/.

    Particular ones to look out for are benz9.jpg (model of a 1928
    Mercedes Benz), camera.jpg, bug1.gif, etc., etc., the list goes on.

  * Ken Musgrave
    Ken Musgrave <musgrave at siggraph.org> was called "the first true
    fractal-based artist" by Benoit Mandelbrot, the father of fractals.
    His work shows the artistic side of what can be done with
    mathematics and inspiration.  Many have seen his image "Blessed
    State" inside the cover of "Computer Graphics, Principles and
    Practice" by Foley & van Dam, the authoratative computer graphics
    book.  He has an excellent exhibit of his works available on the
    WWW at:

    http://www.wizardnet.com/musgrave/

    Ken is currently applying his skills to creating an entire world
    model with algorithmic principles.  This project is named
    Slartibartfast, after the designer of worlds in the "Hitchiker's
    Guide to the Galaxy" series.


Parent document is "Ray Tracing FAQ"
Previous document is "5 - Further Information and Resources"
Next document is "7 - Roll the Credits"