6 - Frequently Asked Questions
Now that you've been blasted with lists of FTP sites, utilitites,
software, books, etc., etc., the only questions you could possibly have
left to ask are those that...erm...aren't about FTP sites, utilities,
software or books, I suppose. So this section attempts to answer all
the other questions that don't fit in above.
------------------------------
Subject 6.1 - "Can I post binaries/images to this group?"
In a word, NO. The group is part of the comp.graphics hierarchy
which should be, and is, strictly non-binary. The reason for this is
that uuencoded binaries tend to be very large. By restricting binary
postings to the comp.binaries and alt.binaries hierachies, those
sites who do not want to carry large volume groups can easily ignore
anything under these two streams.
Remember that most sites pay to transfer and store news and if they
find that comp.graphics.rendering.raytracing is getting too
expensive, they can just stop carrying it. That is their right and
priviledge. Also remember that many individuals download this group
via modems and pay for every byte. They tend to get a bit annoyed
when they have to fork out lots of money to download stuff they might
not even want.
But what if you're really desperate to share with us your latest ray
tracing you've done depicting a mutant star camel exploding in a
super nova while naked dancers melt into a checkered floor? (The
checkered floor always turns up sooner or later). Great! I'm sure
we'd love to see it, you should post it to
alt.binaries.pictures.misc.
If you're posting it (obviously not to c.g.r.r), you should remember
to uuencode it and split it into small (less than 64k) parts. Make
sure to use an informative title like:
RAY TRACING: MUTANT.GIF: mutant star camel scene, part 1 of 6
and include a text posting (part 0 of n) that describes the picture,
states what format it's in (.gif, .jpg, etc.), what size it is, how
many colours, and anything else you want to mention. The more you
put, the better.
You can then post a message to comp.graphics.rendering.raytracing,
along with a few lines saying "I've just posted this image to
alt.binaries.pictures.misc". By the way, ray tracing pictures
generally get a good response over in a.b.p.m and you'll often see
request for them in alt.binaries.pictures.d (discussion group).
If it's a utility you're posting, it should go to alt.binaries.misc
instead of alt.binaries.pictures.misc, but the same process applies.
The other alternative is to upload the picture or utility to an ftp
site and use comp.graphics.rendering.raytracing to announce it in
the same way.
------------------------------
Subject 6.2 - "Where can I find model data for..."
The former Avalon site has been closed down, and the Avalon model
site has been moved to Viewpoint, a commercial model vendor, as of
07/95. It is the promise of Viewpoint that the Avalon data remain
freely available to all. Avalon is now located at:
ftp://avalon.viewpoint.com/avalon/ or
http://www.viewpoint.com/avalon.html or
ftp://ftp.povray.org/pub/mirrors/avalon/ is a mirror.
Avalon is probably the best site you'll find for free 3D model data.
However, the home page at Viewpoint also has pointers to their free
and commercial models if you can't find what you need at Avalon.
Another commercial model vendor on the net is MeshMart at:
http://cedar.cic.net/~rtilmann/mm/
(See also 2 - FTP Sites, Web Sites, Mailing Lists)
------------------------------
Subject 6.3 - "How can I view these pictures?"
If you're using UNIX, you can use XV which is available as a source
distribution from many sites, or ImageMagick, again available on many
sites. It should be noted that XV v3.00, which is installed at some
sites, does not display TGA files, although XV v3.10 and ImageMagick
do.
If XV and/or ImageMagick do not support a particular image format you
have, it probably doesn't actually exist :-). However, if you need
to handle large numbers of images in batch form, or if you don't have
an X windows display and you want to manipulate images (but not
necessarily view them), chances are that the netpbm package is what
you need. Netpbm is a command line utility, and can converting
images from practically any format to any other, but it does not
display the images themselves.
If you're on a PC and using DOS, you'll probably want to get one of
the myriad of image display programs, such as QPV or PICLAB to do
the displaying. For MS-Windows users, lview seems to be a popular
display/editing program, and for OS/2 there is PMJpeg. There are
kegs-o-megs of PC image viewers at most ftp sites, so take your time
and find one you like that has the features you need.
These packages are available in countless locations on the Internet
(see 4 - Utilities and Other Software).
------------------------------
Subject 6.4 - "What is the difference between rendering and ray-tracing?"
Ray tracing *is* rendering. Rendering is the term which refers to
the act of "painting" a digital image from some stored data. There
are many different methods of rendering, such as ray tracing, radiosity,
z-buffer, painter's algorithm, etc. Each method has its own merits,
usually a trade-off between speed and quality or capabilities.
------------------------------
Subject 6.5 - "This picture doesn't trace."
I know it might sound a bit obvious, but have you read the error
message and tried to understand it? Did you look in the manual?
Still nothing? I know I sound cynical, but it's not uncommon for
people to have something go wrong and then post straight to the 'net
without even *trying* to figure out what went wrong. A little
patience and thought will solve the problem a lot quicker.
Here's some common problems:
* POV-Ray versions
A lot of people get fooled when trying to trace old POV-Ray code
with a new version. Use the -MV1.0 option or use #version in the
code to get the parser to treat it as old code. You may find that
you have to change any references to "shapes.inc" to "shapes.old".
The POV-Ray docs can help you out here. What do you mean "I
have't read the docs"? Go read them.
* Include files
Have you checked that you've #included any include files that your
scene requires? Include files tend to define colours, textures or
objects that your scene may use. Make sure you've told the ray
tracer where to look for include files. For example, POV-Ray uses
the -L option to specify the directory where include files are, eg.
-L/home/adilger/povray/include
The POV-Ray docs can help you out here. What do you mean "I haven't
read the docs"? Go read them.
------------------------------
Subject 6.6 - "I traced my picture, but I can't see anything."
If the picture is totally dark, there are a few things you can check:
* Have you added any light sources?
* Are the light sources blocked by anything? (This is a favourite of
Andy's - he puts in a large sphere for the sky and then adds or
moves lights *outside* the sky sphere. Where did the lights go?)
* Where are you looking? Is your camera inside an object (oops)?
* Have you applied textures to your objects. If you haven't, you
might find that your ray tracer defaults your object to be black.
Have you actually put anything into the picture? This isn't as silly
as it sounds. If you #declare on object (POV-Ray, again) like this:
#declare my_object=
union {
sphere { <0, 0, 0> 1 }
cylinder { <-2, 0, 0> <2, 0, 0> 0.5 }
}
Then you have just told the ray tracer that when you refer to
"my_object", you actually mean a union of a sphere and a cylinder as
shown. To use the object, you must explicitly put it in:
object { my_object }
------------------------------
Subject 6.7 - "I traced my picture, but the output is garbage."
Did you specify the correct output file format? Most ray tracers
have several options for output file formats. If you haven't
explicitly specified the output format, there's a good chance it's
not what you want it to be. Also note that using a file name with an
extension (like .TGA) does not necessarily mean this is the format of
image. This is a common mistake with POV-Ray 2.2 for UNIX which uses
an obscure output format by default. Similarly, if you don't compile
in the URT support for Rayshade, you will get MTV format output files.
What is MTV you ask? It's one of the very first freeware ray tracers,
written by Mark Terrence vandeWettering, now with Pixar.
Some image display programs use the file extension to determine the
file contents, so if you call the file output.tga, and it's actually
a PNG image, your display program may complain that the TGA file is
corrupted. This is especially a problem with TGA files, since they
do not start with a "magic number", and this makes file identification
difficult.
------------------------------
Subject 6.8 - "What does this mean..."
Some ray tracing and related terms you might come across:
* CSG (Constructive Solid Geometry) - A term describing ways in which
you can build up complex shapes from simple primitives like cubes,
speres, and cylinders. By combining the primitives in different
ways, namely adding them together (union), taking one away from the
other (difference) or getting the part where they intersect
(intersection) you can make small building blocks, which can in
turn be used to make more complex CSG objects.
* Height Field - A height field can be thought of as a 3 dimensional
bar graph. It is a grid of data where the value at any point
corresponds to the "altitude" of that point. Height fields are
typically stored as grayscale images with the lighter areas being
higher, and the darker areas lower. Heightfields are usually used
to create natural looking terrain, such as mountains, hills, and
craters, but they can be used anywhere that you need to extrude a
shape (eg a prism, text, or an embossed pattern). You can get
software that will convert actual altitude data into a heightfield
image (DEM2POV), software that will create realistic heightfields
mathematically (HF-Lab, Terrain Maker, Vista Pro, Fractint), or
software to create raised patterns (Level Connector).
* Radiosity - Most ray tracers use an empirical lighting model - that
is the parameters specified for lights and objects do not really
correspond to physical properties, but are selected to make things
look good. Radiosity calculates the reflections and lighting
between all objects in the scene, and gives a more realistic
rendering of the scene. This method is very good at representing
the diffuse lighting in a scene, while ray tracing is better at
handling the reflection. In some renderers, both techniques are
used to give spectacular results. Needless to say, radiosity is
even more computationally complex than ray tracing.
------------------------------
Subject 6.9 - "Rotating/scaling this object doesn't work properly."
With most ray tracers, rotating on object in a given direction
rotates it around the axis *not* around its own centre. If your
object is centred on the X axis and you rotate it in the X direction,
it will spin. However, if it is some distance from the axis and you
rotate it, it will "orbit" the X axis, tracing a circle with a radius
equal to the distance of the object from the axis.
Confused? Think of the Earth spinning on it's axis. It doesn't go
anywhere because it is centred on its axis (ignoring rotation around
the Sun). The moon, however is some distance from the Earth's axis
and as it rotates around that axis, it travels through space,
orbiting the Earth.
To work out which way something will move, you need to know if your
ray tracer uses a left or a right handed co-ordinate system.
POV-Ray, for example, uses a left handed system. To work out which
way an object will turn, point your thumb in the positive direction
of the axis you're rotating in and the way you fingers curl indicate
the direction of positive rotation. The hand you use to do this
depends on your ray tracer; left-handed, use left hand, right handed,
use right hand.
The same thing goes for scaling. If your object is already some
distance away from the origin, that distance will also get scaled.
For example, if you have a sphere 2 units away from the origin, with
a radius of 1 and you scale it by 2, the radius will now be 2 *and*
the distance from the origin will be 4.
------------------------------
Subject 6.10 - "Why is the Z axis is pointing the wrong way?"
A common complaint in c.g.r.r is why POV (or other computer graphic
program) has the Z axis pointing in the "wrong" direction. What's
wrong with the people who make this software? Didn't they take
elementary geometry?
The truth is, what is the right co-ordinate system in computer
graphics, depends on where you started out. Engineering and mathematics
people use a right-handed co-ordinate system. The X and Y axes form a
horizontal plane, with X increasing to the right and Y increasing
"upwards". When we have a Z axis, it is usually considered the
"height" or "altitude" axis, and it would be coming out of the page
of a 2D graph.
The origins of computer graphics was in 2D, shown on a monitor, with
the same X and Y axes (X positive to the right and the Y positive
upwards). When 3D was added in, the Z axis was used as the "depth"
into the monitor, since one was only interested in items "in front"
of the user, and not those behind where they couldn't be seen. Since
it was easiest to only store positive numbers for the Z value, the Z
axis is positive away from the viewer. This is a left-handed
co-ordinate system.
Because of the way the graphics appear on the monitor, it is often
easiest to consider that Y is the vertical axis, since it is consistent
for both 2D and 3D graphics. As for which one is better - you decide.
However, don't complain about software which uses the one that you
don't like, since you can always go ahead and write your own software...
------------------------------
Subject 6.11 - "Which 3D accelerator card will speed up raytracing best?"
+ The answer to this question is generally "None". Commercial 3D cards
+ accelerate the transformation of 3D polygons, shading, z-buffering,
+ rasterizing, and related functions. These are all related to scan-line
+ rendering, but are not really as useful for ray tracing. It's not
+ because 3D cards are new, and it's not because people who write ray
+ tracers don't know about these cards, but because these cards are simply
+ not useful for speeding up ray tracing.
------------------------------
Subject 6.12 - "Who is..."
This section looks at some of the ray tracing artists and people who
are particularly well known for their work, be it images or software.
The list is in strict alphabetical order as I don't fancy the task of
trying be subjective about who's pictures are better than who's.
A VERY IMPORTANT POINT: A lot of these people have to pay for their
Email and 'net access. DO NOT send them large images or other posts
without checking with them first. Certain members of the POV team
have recently had some pretty hideous costs (like $30 for 1 mail
item) because of this. (Was that OK, Dan?)
* Truman Brown
Truman Brown <71477.221 at compuserve.com> is particularly well known
for his "woild" series of images. He is a self-confessed "Obsessed
Programmer / Trace-aholic" and has written a range of very useful
utilities, including Connect The Dots Smoother (CTDS), Circle
Master (CM) and its companion, HYPE.
He has an understanding wife but his kids wish he didn't hog the PC
so much. His utilities are available from most FTP sites and you
can check out some of his images at:
ftp://ftp.povray.org/pub/povray/Hall-Of-Fame/
http://www.povray.org/hof/
* Dan Farmer
One of the original POV-Ray development team, Dan Farmer has
created a large portion of the POV-Ray demo scenes, as well as
other amazing images including the stunning "frosty.gif". Dan
explains how he did it:
"The image was done in POV-Ray. It's really quite simple. The face
is a freely available dataset produced by Mira Imaging... I'm sure
it exists on the net somewhere. The fractal shape is done with
Fractint, using the 16 bit continuous potential features. It's an
inverted Mandelbrot set. The silver texture is Silver1 in
textures.inc. The sky is the usual bozo, but it's mapped onto a
plane, not a sphere. Floor is an imagemapped plane. That's all
there is to it!"
Frosty's at ftp://ftp.povray.org/pub/povray/Hall-Of-Fame/frosty.gif
The Mira dataset ftp://ftp.povray.org/pub/povray/scenes/mirpov.zip
Unfortunately, Dan rarely releases his source code any more due to
certain unscrupulous sorts using his images for commercial purposes
without payment or even permission. Luckily, he has made the scene
file for this image available on the POV-Ray CD-ROM which is also
available online (see 1 - Ray Tracing Software).
Dan has taken a leave of absence from the POV Team because he wants
to spend more time with his real life than answering questions. He
asks that people not contact him with questions about POV-Ray.
* Eric Haines
Eric A. Haines <erich at eye.com> has probably done as much as anyone
to make ray-tracing as understandable and accessible as it
currently is. His many, many hours compiling the Ray Tracing News
helped lots of people understand and develop ray tracing software,
as well as serve as a forum for discussion between those interested
in the art. (See 5 - Further Information and Resources).
* Mike Miller
If you ever need inspiration to see what can be done using POV-Ray,
a piece of graph paper and a pencil, then look at some of Mike
Miller's <70353.100 at compuserve.com> images. His pictures never
fail to impress and he has undoubtedly produced some of the best
pictures ever created with POV-Ray. Mike created many of the demo
scenes that come with POV-Ray and he is responsible for the
excellent textures in "stones.inc".
The cover story of the January 1994 IEEE Computer Graphics and
Applications is entitled "Mike Miller's Many Hats" and looks at his
work and includes many of his pictures.
You can find his images and scene files on many sites. A good one
to start with is ftp://ftp.povray.org/pub/povray/Hall-Of-Fame/ or
ftp://ftp.povray.org/pub/povray/images/.
Particular ones to look out for are benz9.jpg (model of a 1928
Mercedes Benz), camera.jpg, bug1.gif, etc., etc., the list goes on.
* Ken Musgrave
Ken Musgrave <musgrave at siggraph.org> was called "the first true
fractal-based artist" by Benoit Mandelbrot, the father of fractals.
His work shows the artistic side of what can be done with
mathematics and inspiration. Many have seen his image "Blessed
State" inside the cover of "Computer Graphics, Principles and
Practice" by Foley & van Dam, the authoratative computer graphics
book. He has an excellent exhibit of his works available on the
WWW at:
http://www.wizardnet.com/musgrave/
Ken is currently applying his skills to creating an entire world
model with algorithmic principles. This project is named
Slartibartfast, after the designer of worlds in the "Hitchiker's
Guide to the Galaxy" series.
Parent document is "Ray Tracing FAQ"
Previous document is "5 - Further Information and Resources"
Next document is "7 - Roll the Credits"