"In the rooms the women come and go
Talking of Michelangelo."
T.S. Eliot, 1911
"In the schools the children come and go
Talking of Michelangelo."
Anon (in the gutter), 1993
ST SOFTWARE REVIEW: PERSISTENCE OF VISION RAYTRACER
by Ringpull
There are a number of raytracing programs available for the ST;
"QRT", "DKB" and "GFA Raytrace" to name only three of those
currently available and several commercial offerings aimed at the
Falcon are now appearing. These programs range from those which
produce 16 colour images of simple scenes relatively quickly to
the more sophisticated packages which can render 24 bit images of
complex scenes but can take many hours to do so.
For those of you who don't have a clue what I am talking about
or what a raytracer is it would be profitable for you to read the
following paragraph, otherwise feel free to skip it.
Raytracing is a technique used to produce images of three
dimensional scenes built of geometric objects. Although there
are other techniques which can do this quicker raytracing
produces very high quality images and lets you use a variety of
effects in the scene such as transparency, reflections and adding
textures to objects. The raytracing program generates the image
by modelling the way rays of light bounce around the scene, hence
the name raytracing. Since one or more rays must be traced for
each pixel in the image this can be a lengthy process. The
bigger the image and the more objects in the scene the longer it
will take to generate the image.
Now we can welcome back the raytracing veterans and talk about
POV itself. POV stands for "Persistence Of Vision" (God knows
why) and it has been developed from the "DKB" raytracer by a team
of programmers in America. POV is available for a number of
machines including PCs, Amigas, Archimedes, Apple Macs and Unix
machines. There are three versions for Atari machines: Falcon
with maths co-processor, Falcon without co-processor and a
version for plain old STs. The ST version (The only one I have
seen as I don't have a Falcon) comes on two floppies and really
needs to be installed on a hard drive or another floppy. The
first disk contains the program and documentation files and the
second contains an archive of 1.5 Mb of example scenes.
Now, how do we make this program do something? First of all you
need a scene file which describes the objects to be rendered.
The name of this file and a host of other options are then given
to the program on the command line. It is a good idea to run the
program from a command shell as the desktop's pathetic little TTP
box is far to small to take all the options that POV requires.
Once you have set the program running you should find something
else to do such as read a book, go to sleep for the night or go
on holiday.
When it is finished it will have generated a 24 bit image file
of one of three formats depending on which options you set. To
display this file on your ST you will need "Photochrome 3" which
is available in the Public Domain. This wonderful program can
take your 16.7 million colour files and display them in 4096
colours on a standard ST or 19 thousand colours on an STE. It
can also display GIF and IFF files for you. If you want to use
"Photochrome 2" which was given in ST NEWS Volume 8 Issue 1 you
will need to convert the output file to QRT RAW format as POV
produces no file types which "Photochrome 2" can convert.
Scene files contain descriptions of the objects in the scenes.
A number of primitive geometric objects are available including
spheres, planes, boxes and triangles. More complicated objects
include quadric and quartic shapes, bicubic patches and height
fields. These allow you to use create complex shapes such as
cones, cylinders, toruses and parabolas. Height fields are an
interesting file which modifies the height of points on a flat
surface according to the colour values in a separate image file.
This allows you to, for instance, take a picture of a Mandlebrot
set and produce a three dimensional fractal image.
It is also possible to use Constructive Solid Geometry (CSG)
shapes. These are shapes formed by adding or subtracting shapes
to and from each other.
All objects can be moved, scaled, rotated and clipped by other
shapes. The most powerful feature of POV is that any object can
have a texture attached to it. This lets you change the surface
properties of the object to produce some spectacular effects.
Simple textures involve giving an object a colour and it can then
be given spectacular highlights, a degree of reflection,
refraction or transparency. Other textures modify the surface of
the object so it no longer looks flat. These let you add
ripples, bumps, dents and wrinkles to objects.
Another available texture is image mapping. This allows you to
map an image onto an object. Perhaps some of the most impressive
textures are the colour map textures. These can be used to
recreate all manner of natural substances such as wood, various
stones and even a sky complete with clouds.
These textures can be combined in various ways including a
checker pattern of two textures and layering textures on one
another.
A couple of libraries are supplied which contain many ready-made
textures including stones, woods, skies, glass, water and various
metals.
Libraries are also included of commonly used shapes and colours
so you can refer to them by name rather than having to describe
them using their components.
The scene files are simply ASCII files which you can create with
any text editor or word processor. The commands are fairly easy
to remember and there is a quick reference manual on the disk
which you can print out and keep nearby.
Before trying to create your own scenes it is advisable to
render some of the example scenes and look at how they are
constructed. The results are very impressive and some of the
example scenes are fairly spectacular.
On a 8MHz ST rendering images of 320 x 200 resolution it can
take from a couple of hours for the simplest scene up to several
days for the most complicated of the example files. I don't know
how fast it runs on a Falcon. I expect it will be significantly
faster but bear in mind that you can display higher resolution
images on the Falcon so you may want to render larger images,
taking longer.
POV is "MultiTOS"-compatible but this is fairly impractical on
an 8MHz ST. Anti-aliasing can be employed to remove jagged edges
from the image but at the cost of lengthening rendering times
significantly.
Since rendering times can be so long an invaluable feature is
the ability to stop rendering at any time and continue it later.
This lets you split the time of rendering a complex scene over
several nights. It is also possible to split the task over
several machines, each one rendering part of the image.
I have run across a few bugs but I don't know if they are really
bugs or just errors caused by my own stupidity.
You need at least one megabyte to run POV but very complex
scenes may need over 2 megabytes. The documentation is
comprehensive but there is no ST-specific documentation - then
again, the ST version is almost the same as the PC version so
this is no problem.
If your ST has nothing else to do at night then you might like
to have a look at this program and create some spectacular images
of your own.
Disclaimer
The text of the articles is identical to the originals like they appeared
in old ST NEWS issues. Please take into consideration that the author(s)
was (were) a lot younger and less responsible back then. So bad jokes,
bad English, youthful arrogance, insults, bravura, over-crediting and
tastelessness should be taken with at least a grain of salt. Any contact
and/or payment information, as well as deadlines/release dates of any
kind should be regarded as outdated. Due to the fact that these pages are
not actually contained in an Atari executable here, references to scroll
texts, featured demo screens and hidden articles may also be irrelevant.