Archive-name: graphics/raytrace-faq/part2
Last-modified: 2001/02/28
Posting-Frequency: every 30 days
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:
http://www.cyrus.ruhr.de/rayfaq/
It is also available via anonymous ftp at:
ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/raytrace-faq/
If you only have email, you can get it by sending email to:
<mail-server@rtfm.mit.edu>
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 <abw@peritas.demon.co.uk>
(C) Copyright 1995, 1996, 1997 Andreas Dilger <adilger@enel.ucalgary.ca>
(C) Copyright 2000 Markus Kniebes <kniebes@localhost.ruhr.de>
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:
ftp://harbor.ecn.purdue.edu/pub/
http://www.imagemagick.org
(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:
ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/
(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)
http://www.trilon.com/xv/
------------------------------
Subject 4.2 - Format Conversion Utilities
Much of the following sections area taken from Amanda Osbourne's
<alo@northshore.ecosoft.com> "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
http://www.uni-jena.de/~p6sepa/software.htm
* 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.
http://www.stmuc.com/thbaier/
* 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.
http://www.q-bus.de/Blender/
------------------------------
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)
http://www.xs4all.nl/~ljlapre/lparser.htm
* 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
3D-Studio.
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:
http://www.acc.umu.se/~woormie/povray/index.html
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:
ftp://rtfm.mit.edu/pub/usenet/news.answers/
They are also converted to HTML format and made available at:
http://www.cis.ohio-state.edu/hypertext/faq/bngusenet/top.html
The POV-Ray specific FAQ as available at:
http://www.students.tut.fi/~warp/povVFAQ/
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 <erich@acm.org> 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:
http://www.acm.org/tog/resources/RTNews/html/
* 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:
http://www.acm.org/tog/resources/bib/
Rick Speer <speer@crl.com> 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":
ftp://nic.funet.fi/pub/sci/papers/graphics/
* Ray Tracing Abstracts
Tom Wilson <wilson@cs.ucf.edu> 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.
http://www.acm.org/tog/resources/bib/
* 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
ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/resources-list/
ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/resources-list/
ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/resources-list/
ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/resources-list/
ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/resources-list/
ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/resources-list/
* Paper Bank Project
Juhana Kouhia <jk87377@cs.tut.fi> has collected together various
technical papers in electronic form. Contact him for more
information.
* Global Illumination Compendium
Phili Dutres effort to bring together most of the useful formulas and
equations for global illumination algorithms in computer graphics.
http://www.graphics.cornell.edu/~phil/GI/
------------------------------
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:
http://www.povray.org/povzine/povzine1/raytrace.html
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:
ftp://wuarchive.wustl.edu/graphics/graphics/books/erratas/
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:
http://wuarchive.wustl.edu/graphics/graphics/books/erratas/IntroToRT
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:
http://www.acm.org/tog/GraphicsGems/
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:
ftp://ftp.povray.org/pub/povray/Hall-Of-Fame/
http://www.povray.org/hof/
The Rayshade home page also has an amazing collection of images made
with this renderer and some custom additions at:
http://www-graphics.stanford.edu/~cek/rayshade/gallery/gallery.html
------------------------------
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:
http://texlib.povray.org/
There is a library of building related textures (bricks, stone, etc),
for use as image maps at:
ftp://wuarchive.wustl.edu/packages/architec/Textures/
Other Resources
http://www.elektrobar.com/lux/textures.html
http://gasa.dcea.fct.unl.pt/carita/textures.html
http://www.sai.msu.su/~megera/textures/aindex.html
------------------------------
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/ [204.140.166.85]
ftp://ftp.irtc.org/ [204.140.166.85]
ftp://ftp.lorax.ml.org/pub/irtc/ [128.2.97.15]
http://38.153.3.18/IRTC/
ftp://38.153.3.18/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
details.
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://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'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.
-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@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/
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@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@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@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.
Subject: 7 - Roll the Credits
Special thanks go to Eric Haines <erich@eye.com> 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 <beale@leland.Stanford.edu>
Nick Fotis <nfotis@theseas.ntua.gr>
Jim Grimes <jimg@bongo.jpl.nasa.gov>
Ian Grimstead <I.J.Grimstead@cm.cf.ac.uk>
Eric Haines <erich@acm.org>
Laszlo Herczeg <las@light-house@whome.planix.com>
Chris W. Morris <chris@cstone.net>
Frank Neumann <Frank.Neumann@arbi.informatik.uni-oldenburg.de>
Bjorn-Kare Nilssen <bjoernk@oslonett.no>
George Kyriazis <kyriazis@mistral.esd.sgi.com>
Daniel Palermo <palermo@crhc.uiuc.edu>
Harry Rowe <Harry.Rowe@wedowind.meaddata.com>
Heinz Schuller <heinzs@delphi.com>
Rick Speer <speer@crl.com>
Greg Ward <greg@pink.lbl.gov>
Andy Wardley <abw@peritas.demon.co.uk>
Oliver Weyand <chbrin3@nyx.uni-konstanz.de>
Marius Watz <mariusw@ifi.uio.no>
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-
His-POV-Team-Stuff-But-Also-Answering-Lots-of-Questions-And-Being-An-
All-Round-Mr.-Nice-Guy", and Chris Cason <Chris.Cason@povray.org> who
gets the coveted "Also-Does-His-POV-Bit-Especially-Being-Admin-of-the-
POV-Site-And-Answering-Questions-As-Well-And-Making-the-POV-CD-Too-And-
Now-Also-The-Creator-Of-WinPOV-To-Boot".
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
finished...
Happy Tracing.
|
Comment about this article, ask questions, or add new information about this topic: