                            IMPORTANT REMARKS
                                  about

                                  OOPOV

                                written by
                               Gabor Marton
       Department of Process Control, Technical University of Budapest
              Budapest, Muegyetem rkp. 9/R., H-1111 Hungary
                         marton@seeger.fsz.bme.hu


1. The executable 'oopov' can be generated by 'make'. In case when GNU C++
compiler ('g++') is not present at the site, the macro CC in the 'makefile'
should be changed properly. The command line option '-L/usr/local/lib' in the
linking command should probably also be changed.

2. Starting 'oopov' without any command line option prints out the following:

usage: oopov [SWITCHes] {FILENAME | -r #}
where
    SWITCH can be
        -a v             :accelerate via Voronoi-diagram
        -a b             :brute-force intersection (default)
        -o FILENAME      :name of output file
        -r #             :creates # number of random objects
                          (also writes them into random.pov)
        -r -1            :reads objects from random.pov
        -v               :verbose printout
        -x #             :horizontal resolution of image
        -y #             :vertical resolution of image
    # is an integer

A good trial is typing in first 'oopov -r 200 -a v', which generates 200
random spheres and renders them using the Voronoi-diagram acceleration
technique, then typing in 'oopov -r -1', which renders the same spheres by
the brute-force method, and comparing the running times.

3. The program 'oopov' is a framework for an object oriented implementation
of the widely known ray tracer POV-Ray. Now it can render spheres only
(although the parser recognizes CSG objects and also builds the corresponding
object structure, the intersection calculation is not implemented for CSG).
It also recognizes a few textures (pigment{solid},pigment{checker}).

4. The structure of the image file is as simple as possible (similar to that
of Heckbert's minimal ray tracer):

+-------------+-------------+
| (int) XSIZE | (int) YSIZE |
+-------------+------+------+-------------+--------------------+
| (unsigned char) R1 | (unsigned char) G1 | (unsigned char) B1 |
+--------------------+--------------------+--------------------+
| (unsigned char) R2 | (unsigned char) G2 | (unsigned char) B2 |
+--------------------+--------------------+--------------------+
                     .
                     .
                     .
+--------------------+--------------------+--------------------+
| (unsigned char) Rn | (unsigned char) Gn | (unsigned char) Bn |
+--------------------+--------------------+--------------------+

where n = XSIZE*YSIZE

5. The image viewer 'show' can be generated by 'make -f show.m', although it
can be used only if Starbase is installed on the (HP) workstation. Probably
the paths should also be modified in 'show.m'.
