*******************************************************************
             sipp  --  3d rendering package

             by         Jonas Yngvesson   jonas-y@isy.liu.se
                        Inge Wallin       ingwa@isy.liu.se

             Linkoping Institute of Technology
             Sweden
*******************************************************************

This is SIPP, the SImple Polygon Processor, version 2.1. SIPP is a
library for creating 3-dimensional scenes and rendering them using a
scan-line z-buffer algorithm. A scene is built up of objects which
can be transformed with rotation, translation and scaling. The
objects form hierarchies where each object can have arbitrarily many
subobjects and subsurfaces. A surface is a number of connected
polygons which are rendered with either Phong, Gouraud or flat
shading.  An image can also be rendered as a line drawing of the
polygon edges without any shading at all.

The library has an internal database for the objects that is to be
rendered. Objects can be installed in, and removed from, this
database at any time.

The library also provides 3-dimensional texture mapping with
automatic interpolation of texture coordinates. Simple anti-aliasing
can be performed through oversampling. A scene can be illuminated
by an arbitrary number of light sources. A basic shading algorithm is
provided with the library, but the user can also use his own shading
algorithms for each surface to produce special effects.

Images can be rendered directly onto a file in the Portable Pixmap
format (ppm) (or, for line images, Portable Bitmap, pbm) or into a
pixmap (bitmap) in core. The representation of the pixmap is not
restricted in any way. It can be any structure, or device, that is
capable of plotting a pixel or drawing a line.

Version 2.1 should be fully compatible with previous versions (2.0.*) 
and only a recompilation should be needed to update older programs.

The program has some bugs & limitations. See the BUGS entry in the
manuals for more information. All bugs in version 2.0 which were
reported to us have been fixed though.

To install the library, edit the Makefile and type 'make install'. If
Your system does not have the drand48() random number generator,
change the macro RANDOM() in sipp.h to use the random number
generator available on your system.

If you only want to make the library but not install it, just type
'make library'.

If you want to make the tests and demonstrations, type 'make demos'. 


Please send any enhancements, bug reports and fixes to us.
Especially, if you create nice new object types, we would be
grateful if you sent the C functions creating those to us. We could
then compile a library of object functions and let other people share
the benefits.

Linkoping 15 July 1991

                enjoy! /Jonas & Inge
