          StereoPOV 0.2
____________________________________
Stereoscopic Raytracing with POV-Ray
Unofficial custom Version by Ichthyostega
2/2003

The POV-Team is in no way responsible for this Compile.
For support, contact Hermann Vosseler <Ichthyostega@web.de>
The use and distribution of this software is governed by the
conditions of POVLEGAL.doc. POV-Ray is copyrighted freeware.




This custom Version/unofficial Patch is built upon the
Persistence of Vision Raytracer (POV-Ray) Version 3.5

It enables some of the camera types built into POV-ray to generate
real 3D output by generating stereoscopic pairs of images. In
"STEREO-trace"-mode, the width of the output images created will be
double the amount specified, containing left and right view of the
pair side-by-side.

The key feature of this patch is the ability to render the two
halfimages in a single raytracing pass, whilst sharing the results
of lighting, texture and radiosity calculations. Five built in
camera types are "stereoscopically enabeled": perspective,
orthogonal, fisheye, cylindrical and spherical wideangle, the
latter beeing a new addition specifically designed to create
full range stereoscopic images of fisheye type.


For detailed documentation on the new features see STEREO-trace.txt
For legal information see POVLEGAL.doc

To learn more about the official POV-Ray go to www.povray.org
           
           
____________
Installation

Get and install an official binary distribution of POV-Ray 3.5
Place the StereoPOV executable in the bin-directory.


________
Building

Get and install an official binary and source distribution
of POV-Ray 3.5 for your plattform. Setup the sources for
your compiler and get it to build the official version.
Then unpack the modified source files on top of the
official source, so the official files get overwritten.
Recompile from scratch. Place the generated executable
in the bin-directory of the binary POV-Ray distribution.


________________   
Status Feb. 2003

StereoPOV 0.2 is an experimental feature or addition to the
official POV-Ray 3.5. StereoPOV 0.2 is *beta software*. There
are known bugs (and probably unknown bugs as well). The patch
proved to work correctly for the author, but it still needs more
testing. Until now, it was built and tested only on the Windows
Platform. It is work in progress, all features may change in future
Versions.
                        

__________
known Bugs

*  All important known bugs are fixed at the moment. 
   Please go ahead and report new ones!


______________________________________
further Problems and strange behaviour


The following issues are rather unavoidable but nasty behaviour.
At the moment, I consider them WONTFIX (but maybe,
someone has a clever idea how to cope with...)

At surfaces running in depth direction, StereoCache produces
artificial steps or breaks at regular distances. This behaviour is
an immediate consequence of StereoCaches function principle (it
uses discrete "slots" for every possible pixel/subpixel). This is
sort of an aliasing problem in depth direction.  The phenomenon is
verry noticeable at low resolutions without antialiasing and
decreases with growing resolution and/or AA-depth. At some point,
it can't be distinguished from the normal "depth noise" any more.
When using the fullscreen resolution, this seems to be no problem.

Antialiasing doesn't work so smooth on the half image, where cached
intersections are reused. I.e. you get more noticable steps or
slightly irregular borders on one side. The cause is the same as
mentioned before. And this phenomenon diminuishes with growing 
resolution as well. We need high res to get sensible results for
stereoscopy anyway, so this is not considered a problem.                                                         
Every AA glitch or rounding error produced by the raytracing
functions is very visible. This is a general problem of stereoscopy
(dust, scratches, image errors "leap into view"). The only answer
is: try to solve the problem (i.e. wrong texture property values),
increase  the resolution and -- if nothing else helps --
post-process the image. You really need to correct such problems,
as everybody will be staring fascinated at the image errors all the
time, completely ignoring the content of your image. :-)

Continuing a trace whilst switching Stereo-mode on/off produces
rubbish (of course).

Using large amounts of AA-jitter can drastically reduce the
StereoCache hit rates. If you use area lights in your scene and
thusly depend on StereoCache to hide the jitter introduced by the
area lights, you will notice this problem, as the area light jitter
now will show up as image error at places.

As reflected and refracted rays can't use StereoCache, the area
light jitter will show up as grainyness in mirrors, glass or
transparent objects, water etc, whilst beeing  invisible
(or apear as mapped to the surface) for primary rays.

Focal blur works but defeats StereoCache (the hit rates go down to
near zero). It seems to influence the Stereo Window placement to
some extent as well. I don't consider this a problem, because the
same way as in real world photography, focal blur is very important
for common (flat, mono) imaging and almost complete of no
importance for stereoscopy, because in stereoscopy normally there
is no problem distinguishing the main object of interest from the
background. The difference between "main object" and "background"
is present in stereoscopy rather as a problem of image composition
or concept, than as a problem of "being able to distinguish, what
is on the picture"

The statistic nature of the media tracing process shows up much
more in STEREO-trace  mode. First experiments indicate, that much
more quality/computation power is needed to gain good results.
Needs more investigation.



Please feel free to contact the author if you encounter
further bugs or problems.    

Hermann Vosseler <Ichthyostega@web.de>


