Skip to main content

 "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.