Home | Gaming | Programming | Play Online | Contact | Keyword Query
Games++ Games & Game Programming

Games++ Home
Games++ Gaming
Games++ Programming
Beta Testing Games
Free Online Games
Hints & Cheats

E-mail This Page
Add to Favorites


Web Games++

Cheat Codes
Trickster Wiki
Game Ratings
Gameboy Cheats
PlayStation Cheats
BlackBerry Games
Photoshop Tutorials
Illustrator Tutorials
ImageReady Tutorials


3D Raytracing FAQ Part 2

3D Graphics Programming

Last-modified: 2002/03/18

This is part 2 of the comp.graphics.rendering.raytracing Frequently
Asked Questions list. The latest version of the FAQ is available via
anonymous WWW at:


It is also available via anonymous ftp at:


If you only have email, you can get it by sending email to:

with both

"send usenet/news.answers/graphics/raytrace-faq/part1" and
"send usenet/news.answers/graphics/raytrace-faq/part2"

in the body of the message (without the quotes).

  (C) Copyright 1994 Andy Wardley 
  (C) Copyright 1995, 1996, 1997 Andreas Dilger 
  (C) Copyright 2000 - 2002 Markus Kniebes 
  (C) Copyright 2002        Alexander Wilkie 


Subject: 4 - Utilities and Other Software


Subject 4.1 - Image Display/Conversion Programs

  * IMAGEMAGICK - An X-Windows based image display program (source
    distribution), that also allows simple editing of images, such as
    color modification, scaling, rotating, text annotation, etc.  PNG
    format images are now supported by ImageMagick.  Available at:
    (Cristy, 1995)

  * NEOPAINT - A useful DOS shareware paint package (registration US
    $45) for creating images, height fields, etc, or just touching up
    finished artwork.  Available from wuarchive and mirrors.

  * NETPBM - A collection of command-line utilities for most platforms
    (source distribution).  Executables available for most other
    platforms like DOS, OS/2, Linux, and others.  NetPBM utilities
    convert practically any format to any other by using a common
    intermediate file format, as well as allowing quantization,
    cropping, combining, blur, and many other effects.  Available at:
    (Poskanzer et al., 1991-1994)

  * PICLAB - An excellent package for converting and post-processing
    images for DOS.  (Crocker, 1990)

  * QPV - The Quick Picture Viewer.  A great utility for displaying and
    converting images for DOS/Win systems.  Formerly QPEG, QPV has been
    improved, and has new features, such as the ability to read and
    write PNG format images.  (Fromme, 1995)

  * XV - An X-Windows image display program (source distribution),
    with simple image editing facilities, such as color editing,
    scaling, rotation, and also filter effects for blurring, edge
    detection, and others.  A patch is available for XV 3.10 to support
    PNG images via libpng and libz.  (Bradley, 1995)


Subject 4.2 - Format Conversion Utilities

  Much of the following sections area taken from Amanda Osbourne's
   "Raytrace Utilities for DOS/Windows"
  list.  All are IBM PC based unless otherwise specified.

  Various utilities for converting from one 3D file format to another:

  * 3DSPOV - Reads 3d studio mesh files. Writes out to Raw, POV-Ray
    (1 & 2), Vivid and Polyray.  (Anger & Bowermaster, 1993)
  * 3DS2POV V1.80 - This free program can convert your binary 3D Studio 
    3DS file in POV 1.0, POV 2.0 including basic material parameters 
    (color, ambient, diffuse, reflection, transparency) and smoothing. 
    It also supports the output of RAW (useful for POVLAB), Vivid and   
    Polyray. Supports animation ! BySteve Anger  

  * 3DWin - Likely the most versitle shareware 3D conversion 
    utility that you will find anywhere. It is actively maintained and 
    developed and has support for most major 3D file formats. It also 
    include direct support for POV-Ray and Moray plus the author has 
    plug-ins available for Moray for direct import capabilitites.  

  * DEM2POV - This program (source distribution) converts US Geological
    Survey (USGS) Digital Elevation Maps (DEM) to the TGA format
    heightfields used by POV-Ray 2.2.  Includes a large DEM file of the
    region around the Grand Canyon.  (Kirby, 1995)

  * DXF2POV - DXF to POV-Ray 1 conversion program.
    (Collins, Wells, Farmer & Gibeson, 1992)

  * DXF2RAW - DXF to Raw conversion program.
    (Coy, Barber, Daigle & Shiffman, 1992)

  * DXF2V - DXF to Vivid conversion program.
    (Coy, Barber, Daigle & Shiffman, 1992)

  * DXF3DS - DXF to 3DS conversion program.  (Yost/Autodesk, 1991)

  * HUTIL101c - A set of utilities (source) for converting  between
    various POV-Ray heightfield formats (16-bit TGA, GIF, POT) as well
    as OCT and Matlab 32-bit MAT files.  In addition, it can combine
    heightfields using arithmetic operators, join them together, scale,
    and create spherical and cylindrical heightfields with triangle
    meshes.  See also HF-Lab.  (Beale, 1995)

  * IV2RAY - Converts SGI OpenInventor 2.0 (VRML 1.0) files to RayShade
    files.  Freely available from Cow House Productions web page at:
    http://www.cowhouse.com/. (Cow House Productions, 1996)

  * MRYPLY - Converts Moray files to PolyRay files.

  * OBJ2ASC2 - Wavefront object to 3d studio ascii converter.
    (Knight, 1993)

  * RAW2PV - Excellent utility that allows the user to adjust the
    level of smoothing to apply to raw data as it is translated to
    POV-Ray (1 & 2.x), Polyray or Vivid 2. It can also add a camera
    and light to the scene, making things fairly easy for the novice
    user.  (Anger, 1993)

  * RAYL210 - Helpful utility to convert uLathe (an object creator
    program for windows) files to RAW, POV-Ray 1 & 2.x or Vivid 2
    format.  (Koehler, 1993)

  * SPD - The Standard Procedural Database isn't a conversion package,
    per-se, but rather a set of tools for storing objects in a
    platform netutral format.  It can convert from NFF, simple DXF, and
    Wavefront OBJ to a multitude of formats (about 14 at last count).
    It is often used by ray tracing researchers for measuring ray
    tracer speeds.  http://www.acm.org/tog/resources/SPD/overview.html

  * TDDD2ASC - TDDD (Imagine) to 3D studio ascii file converter.
    (Knight, 1993)

  * WCVT2POV - Although wcvt2pov (MS-Windows) started out converting 3D file 
    formats to POV-Ray, wcvt2pov has become a generic 3D file format conversion 
    utility, with support for importing 3d studio, Wavefront, NFF, DXF, TrueType 
    Fonts, RAW triangles and some other formats, and exporting 3ds, asc, POV-Ray, 
    NFF, DXF, VRML, Wavefront, Open GL 'C' code fragments, RAW triangles, and some 
    other formats.  http://www.europa.com/~keithr/  (Rule, 1995)

  * Blender Python Conversion Scripts - Python scripts for converting 
    Blender models to other formats including POV-Ray. 


Subject 4.3 - Creation Creators

  Utilities to aid in the creation of ray tacing objects:

  * BOXER - Object generator for POV-Ray 1 (makes things like bathroom
    tiles and such based upon user input).  (Miller, 1993)

  * BRANCH - Tree creator for POV-Ray 1. (Weller, 1992)

  * CHAIN - Generates interlocking chain links for POV-Ray 1.0.
    (Koehler, 1992)

  * CM - CircleMaster utility for working with quadric spheres and
    ellipsoids; writes output to POV-Ray 1.0. (Brown, 1992)

  * COIL - Creates coiled objects for POV-Ray 1.0. (Kirby, 1992)

  * COILV - Creates coiled objects for Vivid 2. (Kirby & Cox, 1992)

  * CTDS - Connects a series of xyz dot coordinates. Though this may
    not sound like much, this is an extremely helpful utility.
    Supports POV-Ray, Vivid and Polyray. (Brown, 1993)

  * FORM - All sorts of shapes can be generated with this program.
    Form files consist of both shapes and commands (like twistx and
    bend) and output may be POV-Ray 1, 2 or .plg. Interesting program,
    complementary to LPARSER.  (Rowbottom, 1993)

  * FRACTINT - The ultimate fractals generator for DOS, X-windows
    source code, and distributed with the Linux Slackware games disks.
    Great for creating height fields, colour maps, viewing gifs or just
    creating fractals.  (The Stone Soup Group, 1990-95)

  * FRGEN - Fractal Landscape (and other shapes too) Generator.
    Though the program supports Vivid and POV-Ray 1 & 2 directly, by
    selecting raw output you can smooth triangles out with RAW2POV to
    create nice hills and dales. (Anger, 1993)

  * GEODOME - Utility for generating geodesic domes.  Output to
    POV-Ray 2.x format as either facets or a mesh of pipes and joints.
    IBM PC executable, with source included. (Wardley, 1994)

  * GFORGE - Graphical Fractal Forgery (source, DOS exe).  Generates
    16-bit heightfields for POV-Ray, using a high-quality algorithm:
    the IFFT of 1/f noise.  File formats include PGM, PNG, POV TGA
    heightfield, and Matlab bin.  Several parameters give you control
    over the appearance of the output, which can range from sand to
    hills to mountains.  Useful also for 2D textures; the image always
    tiles perfectly.  Now also supports craters.  (Beale, 1995)

  * HFLAB - Heightfield Lab (DOS/Unix source, DOS exe).  Generates and
    manipulates 16-bit heightfields for POV-Ray, using a variety of
    mathematical and procedural algorithms.  Has a graphical interface
    for both DOS and X Windows.  Allows the combination of two or more
    heightfields by addition, multiplication, or side-by-side joining,
    and many other operators.  File formats include PGM, PNG, POV TGA
    heightfield, and Matlab 32-bit floating point.  (Beale, 1996).

  * LEVCON - Level Connector.  This takes an input image in PGM format
    and does mathematical "smoothing" on the data to generate smoothly
    varying surfaces.  The input image tells LEVCON which levels are to
    stay at their given height and which ones can change, and you tell
    LEVCON how to go about connecting the fixed levels.  See the classic
    image "kkteaset.jpg" at the povray.org Hall Of Fame to get an idea
    of what LEVCON can do (it made the tiles).  (Kivisalo, 1995)

  * LEVELLER - A heightfield/terrain object modeller/editor for
    Windows 95/98/NT. Strengths are ease of use, intuitive realtime
    navigation, visualization and editing, and strong POV-Ray support.
    Demos and beta versions are free; registered versions cost below
    $40 US. Available at http://www.daylongraphics.com/products/leveller/

  * LPARSER - L-system creator and mutator. This program is
    particularly strong in the creation of organic looking forms. Many
    example data files are included with the program.  The language of
    l-systems is not intuitive but the results can be truly stunning.
    Outputs to DXF (both R12 and 3D faces), POV-Ray 2.x, RAW and
    Renderstar VOL.  A wire-frame viewer that reads .3DS, .RAW,
    Fractint .RAY, ARE-24 .POL and Lparser/Renderstar .VOL files is
    included.  (Lapre, 1993)

  * LV20POVID - Newer and more powerful than LV2POV, this program
    reads an lviewer info file and generates data files in POV-Ray
    (1 & 2.x) and Vivid formats. The program's main strength lies in
    landscape generation. (van der Mark, 1993)

  * TRMK - Terrain Maker (DOS) uses a triangle midpoint subdivision
    algorithm to generate a variety of GIF heightfields.
    (Jorgensen, 1995)

  * PLANT - Fractal plant generator. Outputs supported are POV-Ray
    (1 & 2), Polyray and CTDS (Connect the dots smoother).
    (Bryerton, 1993)

  * SUDS - Random positioning of lots of spheres (or other objects)
    based on a variety of selections. (Farmer, Wegner & Schwan, 1994)

  * TORPATCH - This program creates a rope/wire object that passes
    smoothly through supplied points out of a series of clipped tori.
    Available as DOS EXE, and Turbo Pascal or C source.  Can also
    create a random tangle of wires. (Mackey & Beddes, 1996)

  * TWISTER - Utility that will create spirals, coils, etc., of
    blobs, cubes or sphere.  IBM PC executable with source, output to
    POV 2.x format.  (Wardley, 1994)


Subject 4.4 - Texture Editors

  * CMAP - Interactive color map creator for POV-Ray.
    (Lutz & Kretzschmar, 1993)

  * TCE - The color editor for POV-Ray 1. (Farmer, 1991)

  * TCEV - The color editor for Vivid. (Farmer, 1991)

  * TEXMAKE - Early version of a utility to assist in texture
    creation in POV-Ray 2.x. (Sigler, 1993)

  * TXMAG - Texture Magic is an interactive, 32-bit MS-Windows based
    texture editor for POV-Ray 2.x, Assymetrix 3D F/X, and Autodesk
    http://private.homepages.intershop.de/rene/povray/tex_mag.html (Pultz, 1996)


Subject 4.5 - Animation

  * AERO - AERO is a X-Windows based physical simulation environment
    suitable for making complex, realistic animations.  Objects
    (including the camera) can be given properties like mass,
    velocity, and acceleration, constraints like springs and dampers
    can be specified between objects, and then AERO performs
    collision detection, position, and orientation calculations.
    Output is to POV-Ray 1.0 or 2.x scene files.
    (Keller, Stolz, Ziegler, Braunl, 1995)

  * AWKANI - AWK script to output POV-Ray animation data.
    (Farmer, 1992)

  * DTA - Dave's Targa Animator (DOS) converts .PNG, .TGA and many
    other single image format frames into .FLI's and .FLC's and
    back again.  It can also do useful things like finding the best
    256-color palette for a whole series of images.  (Mason, 1995)

  * MPEG_ENCODE - MPEG_ENCODE (source distribution, also many
    executables) can take images in PPM and JPEG formats (as well
    as other formats, if a ...toppm converter exists) to produce
    a fully compliant  MPEG 1 animation.  It is possible to run
    the encoding on multiple processors. It is available in many
    locations (see 2 - FTP Sites, Web Sites, Mailing Lists)
    (Rowe, et al, 1995)

  * MPEG_PLAY - MPEG_PLAY (source distribution, also many executables)
    displays MPEG 1 encoded animations on a large variety of systems.
    (Rowe, et al, 1995)

  * PPP - The POV and PolyRay Preprocessor allows scene files to be
    created with conditional statements, loops, math functions,
    vector math, and more to generate one or more scene files for
    animation and complex object creation. (Wind, 1995)

  * PVQUAN - PVQUAN (source) is a set of tools that allow you to create
    .FLI creations on many platforms including Unix and DOS.  Source
    code is provided and includes a hosts of useful functions like
    quantisation, .GIF read, display, etc.

  * RAYSCENE - Set of animation utilities, not raytracer specific.
    (Jarik & Hassi, 1991)

  * RTAG - Ray Tracing Animation Generator (not raytracer specific).
    A powerful program with its own language which supports, amongst
    other things, spline path generation. (Sherrod, 1993)

  * SCEDA - SCEDA is a descendant of the SCED X-Windows modeller,
    with enhancements to allow generation of multiple scene files
    for an animation.  (See also 3 - Modelling Software)
    (McLaughlin & Chenney, 1996)

  * SP - Spline paths for animations.  Many output formats (POV-Ray,
    Vivid, Polyray, 3DV, Wire 3D) and acceleration and deceleration
    are supported as well. (Mason, 1992)

  * ZOOM - Interpolates steps between two positions for POV-Ray 1.0.
    (Brown, 1993)


Subject 4.6 - Miscellaneous Utilities

  * POVMODE.EL - Emacs mode to handle POV-Ray syntax.  Available at:


Subject: 5 - Further Information and Resources


Subject 5.1 - On-line Resources

  * FAQs
    All of the FAQs in the USENET heirarchy that are posted to the
    news.answers newsgroup (as all FAQs should be) are archived at:

    They are also converted to HTML format and made available at:

    The POV-Ray specific FAQ as available at:

    For those people that are interested in learning about the internal
    workings of a ray tracer, you should take a look at the newsgroup
    comp.graphics.algorithms Frequently Asked Questions (FAQ).  This
    document describes rotations, intersections, texture mapping, etc.

  * Ray Tracing News
    Eric Haines  has put together a phenomenal amount of
    information on ray tracing.  This he combines into his Ray Tracing
    News (RTNews).  They are a wealth of information and contain
    articles, sofware reviews and comparisons, book reviews and lists
    of everything and anything to do with ray tracing.  They are
    available from many sites in text and/or HTML format; the master
    site is:

  * Ray Tracing Bibliogaphies
    In addidtion to the Ray Tracing News, Eric Haines also maintains an
    up-to-date bibliography of papers relating to ray tracing:

    Rick Speer  has also done a lot of work in bringing
    together articles on ray tracing.  He maintains a cross-indexed ray
    tracing bibliography of over 500 articles from 1968 to 1991.
    These include papers from Siggraph, Graphics Interface,
    Eurographics, CG International and Ausgraph proceedings.  All
    citations are keyworded and cross-indices are supplied by author
    and keyword.

    The bibliography is in the form of a 41 page postscript file which
    is held at many ftp sites as "speer.raytrace.bib.ps.Z":

  * Ray Tracing Abstracts
    Tom Wilson  has collected over 300 abstracts
    from ray tracing related papers and books.  The collections is
    available as plain ascii, with Latex and troff formatting programs
    included.  It is available as "rtabs.*" from many sites.

  * Graphics Resources List
    The Graphics Resources List contains a wealth of information on all
    sorts of computer graphics and visualization information.  It has
    info on mailing lists, plotting packages, ray tracers, other
    rendering methods, etc.  It is available on comp.graphics,
    comp.answers or archived at various sites.  The official archive is

  * Paper Bank Project
    Juhana Kouhia  has collected together various
    technical papers in electronic form.  Contact him for more

  * Global Illumination Compendium
    Phili Dutres effort to bring together most of the useful formulas and 
    equations for global illumination algorithms in computer graphics.


Subject 5.2 - Other Newsgroups

  Other newsgroups that may be of interest to you are listed below.

  - comp.graphics.algorithms
  - comp.graphics.animation
  - comp.graphics.apps.alias
  - comp.graphics.apps.lightwave
  - comp.graphics.apps.softimage
  - comp.graphics.apps.wavefront
  - comp.graphics.misc
  - comp.graphics.packages.3dstudio
  - comp.graphics.rendering.misc
  - comp.graphics.rendering.renderman
  - comp.graphics.visualization


Subject 5.3 - Books

  Title:      Ray Tracing Creations
  Authors:    Drew Wells and Chris Young
  Publisher:  The Waite Group
  Year:       1993
  ISBN:       1-878739-27-1

  This book has been written by Drew Wells and Chris Young, two of the
  original developers of POV-Ray, as a user and reference manual for
  POV-Ray.  Coming in at 573 pages, it's an excellent publication with
  literally hundreds of stunning colour and monochrome pictures.  The
  only drawback with the book is that it deals with POV-Ray version 1.0
  which is dated now that version 3.0 is out, but it is still a very
  worthwhile investment for any POV-Ray user.

  Title:      Ray Tracing Worlds with POV-Ray
  Authors:    Alexander Enzmann, Lutz Kretzschmar, and Chris Young
  Publisher:  The Waite Group
  Year:       1994
  ISBN:       1-878739-64-6

  Raytracing Worlds with POV-Ray is written with the intermediate to
  advanced POV-Ray user in mind.  This book comes with POV-Ray 2.2,
  Moray, and several additional tools for MS-DOS on diskette.  It
  assumes you have a basic knowledge of POV-Ray, which you can easily
  get by reading the POV-Ray documentation.  An review of the book is
  available at:

  Title:      Adventures in Ray Tracing
  Author:     Alfonso Hermida
  Publisher:  Que Corp.
  Year:       1993
  ISBN:       1-56529-555-2

  This book looks at Alexander Enzmann's ray tracer, Polyray
  (see 1 - Ray Tracing Software), and the author's own modelling system,
  POVCAD which runs under MS Windows.  The two work well together.  The
  content of the book is good and, as in the previous book, there are
  many excellent illustrations and pictures.

  There are a few errors in the book, but Alfonso has produced an
  errata list which is available from:

  Title:      Photorealism and Ray Tracing in C
  Authors:    Christopher Watkins, Stephen Coy, Mark Finlay
  Publisher:  M&T Books
  Year:       1992
  ISBN:       1-55851-247-0

  Provided with this book is source code for a ray tracer called Bob
  which is a subset of Stephen Coy's full-blown ray tracer, Vivid
  (see 1 - Ray Tracing Software).

  Title:      Making Movies on Your PC
  Authors:    David K. Mason and Alexander Enzmann
  Publisher:  The Waite Group
  Year:       1993
  ISBN:       1-878739-41-7

  Focusing on animation, this book is by David K. Mason, author of many
  utilities including DTA - Dave's Targa Animator, and Alexander
  Enzmann, author of Polyray.  These tools, and others, are used to show
  how animations can be created on a PC.  It's a 210 page book that is
  laid out well with ample illustrations.

  Title:      An Introduction to Ray Tracing
  Authors:    Andrew Glassner (ed)
  Publisher:  Academic Press
  Year:       1989
  ISBN:       1-12-286160-4

  An Introduction to Ray Tracing has its main focus on the programming
  techniques, implementation, and theoretical concepts in writing a ray
  tracer.  It has been described as one of the two required books for
  ray tracing programmers (the other being Object-Oriented Ray Tracing
  in C++ by Nicholas Wilt) .  It contains chapters from many of the
  pioneers of ray tracing.  Eratta is available at:

  Title:      Graphics Gems
  Author:     Andrew Glassner (ed)
  Publisher:  Academic Press
  Year:       1990
  ISBN:       0122861663

  Graphics Gems is a series of technical books devoted to computer
  graphics algorithms, with editors from the who's-who of computer
  graphics.  While not specific to ray tracing, these books do contain
  a lot of optimized ray tracing algorithms and code.  The books are
  very worthwhile to get if you are a graphics programmer (great covers
  too)!  You can get the source code examples for all volumes at:

  Title:      Object-Oriented Ray Tracing in C++
  Author:     Nicholas Wilt
  Publisher:  John Wiley & Sons
  Year:       1993
  ISBN:       0471-304-158

  This book takes the reader through many issues involved with the
  development of a ray tracer in C++.  The last section of the book
  deals with OORT, a class library for ray tracing.  It does not
  implement any input language or user interface but uses C++ calls to
  the library.  This is intuitive, due to the nature of C++, and
  extremely powerful as all the normal constructs of C/C++ such as
  loops, conditionals, etc., are available.

  It's definately a programmer's book and some knowledge of graphics
  programming is assumed.  Because of this, the nature of the book is
  quite technical and can be hard going.  Eric Haines sums it up well:


Subject 5.4 - Image Libraries

  The POV-Ray home site has a good collection of ray traced images.
  The site maintains a "Hall of Fame" for outstanding images created
  with POV-Ray:

  The Rayshade home page also has an amazing collection of images made
  with this renderer and some custom additions at:


Subject 5.5 - Texture Libraries

  There are a couple of initiatives under way to create a database of
  POV-Ray textures.  People who have any textures at all from POV-Ray
  are encouraged to send textures to the maintainers of the archives
  so that everyone can benefit from the time you spent on creating the
  textures.  A searchable index maintained by Rene Schwietzke is
  available at:

  There is a library of building related textures (bricks, stone, etc),
  for use as image maps at:
  Other Resources


Subject 5.6 - Internet Ray Tracing Competition

  Starting in November 1994, Matt Kruse started a raytracing
  competition for the readers of c.g.r.r, and the internet in general.
  What started out small grew into a great forum for incredible
  raytraced images on the net.  Open to all artists using raytracing as
  their medium, the competition attracted artists of all skill levels,
  but more importantly served as a showcase of what is possible, and
  allowed everyone to learn a few tricks and techniques.  Winners
  invariably pushed the envelope of what people thought possible, and
  winning was important as much for the admiration of the other artists
  as it was for the prizes.

  Because of its popularity, Matt could not keep up with the work
  needed to run the competition to his satisfaction, and the contest
  closed one year after it started.  Fortunately, a new group of
  people, Bill Marrs, Chip Richards, and Michael J Hammel, collectively
  known as the IRTC Admin Team, have picked up the flame with the
  blessing of Matt, and the new Internet Ray Tracing Competition has
  begun.  You can find out more about the competition, and see the
  images as each competition finishes at:
  http://www.irtc.org/                                []
  ftp://ftp.irtc.org/                                 []
  ftp://ftp.lorax.ml.org/pub/irtc/                    []

  This competition is something to look forward to every other
  month as the pictures become available for viewing.  There have been
  spectacular images for the first year of competitions.  The complete
  set of submitted images, as well as many of the source files are now
  available on CD-ROM.  See http://www.aussie.org/products/ for more


Subject: 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
  news:alt.binaries.comp-graphics or news: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 to news: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 news:alt.binaries.pictures.d (discussion group).

  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://avalon.viewpoint.com/ 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:

  (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

  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's 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.


    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


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@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:

  * 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  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@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

    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  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:


    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.


Subject: 7 - Roll the Credits

Special thanks go to Eric Haines  for his help and the
wealth of information he has provided both directly and in Ray Tracing
News, FTP lists, etc.

Thanks also to all those people who maintain other lists,
bibliographies, FTP sites, or have provided me with specific
information, told me where to look, produced mini-faqs (thanks John) or
have just posted answers to the group:

  John Beale 
  Nick Fotis 
  Jim Grimes 
  Ian Grimstead 
  Eric Haines 
  Laszlo Herczeg 
  Chris W. Morris 
  Frank Neumann 
  Bjorn-Kare Nilssen 
  George Kyriazis 
  Daniel Palermo 
  Harry Rowe 
  Heinz Schuller 
  Rick Speer 
  Greg Ward  
  Andy Wardley 
  Oliver Weyand 
  Marius Watz 

Finally, some king-size thanks to all those people out there who have
developed, and continue to do so, all the ray tracing software and
utilities that keep us so occupied.  Wives, girlfriends and children
may disagree on this point, but thanks anyway.

Special awards in this category go to Dan Farmer
<70703.1632@compuserve.com> who wins the Award for "Not-Only-Doing-All-
All-Round-Mr.-Nice-Guy", and Chris Cason  who
gets the coveted "Also-Does-His-POV-Bit-Especially-Being-Admin-of-the-

Sorry if I've forgotten anyone.  Thanks anyway.


Subject: Epilogue

You may have noticed one or two gaps in the FAQ or spotted a glaring
error, or just thought of something that I really should have
mentioned.  If that's the case and you can provide some info or
corrections, then let me know and sort it out.

Well here you are at the end of the document, and your trace is still
only half done.  You've probably got time to walk the dog before it's

Happy Tracing.
Copyright © 1998-2007, Games++ All rights reserved. | Privacy Policy