rename Python module from 'raytracer' to 'pyrit'
improve Python binding:
- new objects: Container, Octree, KdTree, Shape,
Pixmap, Sampler, DefaultSampler
- all shapes are now subclasses of Shape
- clean, remove redundant Getattr's
- Raytracer render method now just wraps C++ method
without doing any additional work
adjust all demos for changes in Python binding, remove PIL dependency
add demo_PIL.py as a example of pyrit + PIL usage
render_nff.py now either loads file given as a argument
or reads input from stdin otherwise
fix bug in pixmap float to char conversion
==================
Pyrit Ray Tracer
==================
File Organization
-----------------
/bin -- output directory for binary objects
/ccdemos -- ray tracer demos in C++
/demos -- ray tracer demos in Python
/include -- header files
/models -- common models for use by demos
/src -- ray tracing library source code
/tests -- test programs for classes
Classes organization throughout header files is explained in DEVNOTES.
Building
--------
Type 'scons all' to build everything and 'scons -h' for list of targets.
Requirements:
SCons
pthreads (see bellow)
Python 2.4 or newer for Python module and demos
PIL (Python Imaging Library) for Python demos
SDL for interactive C++ demos
libpng and zlib for rendering to PNG file from C++ demos
Pthreads
--------
Threads can be used to render rows of picture paralelly. Arbitrary number
of threads can be used, even numbers like 17 are acceptable.
To completely disable this feature just remove "-DPTHREADS -pthreads"
from flags in makefile.
For Windows + Mingw32, get pthreads library here:
http://sources.redhat.com/pthreads-win32/
License
-------
This software is published under terms of MIT license.
See COPYING for full text of license.
Website
-------
Latest version can be obtained at http://wiki.fiction.cz/Pyrit