Migrate sources to Mercurial. Update links etc.
==================
Pyrit Ray Tracer
==================
File Organization
-----------------
/build -- output directory for binaries and other generated files
/ccdemos -- ray tracer demos in C++
/demos -- ray tracer demos in Python
/docs -- Doxygen generated documentation
/include -- header files
/models -- common models for use by demos
/src -- ray tracing library source code
/tests -- test programs for classes
/tools -- auxiliary programs
Building
--------
Type 'scons pyrit' to build and 'scons -h' for list of targets.
Requirements:
SCons
pthreads (see bellow)
libpng, zlib
Python 2.4 or newer for Python module and demos
SDL for interactive C++ demos
It should build with these compilers: GCC, IntelC, MSVC
GCC is default in Linux, MSVC is default in Windows.
Downloading model files
-----------------------
Not all models are included in distribution. To download the large
Stanford models, type 'scons download-models', which will download
and extract the archives to appropriate location.
The download script uses 'tar' and 'wget' utilities.
For Windows, these are available here:
http://gnuwin32.sourceforge.net/packages/wget.htm
http://gnuwin32.sourceforge.net/packages/libarchive.htm
Pthreads
--------
Threads are used to render rays paralelly. Arbitrary number
of threads can be used.
For Windows, get Pthreads library here:
http://sources.redhat.com/pthreads-win32/
Python Demos
------------
All demos render images and write the result to PNG file
named with same base name as the script.
Scene is constructed using classes imported from pyrit
Python module.
boxes.py
512 cubes with reflections and refractions
4x oversampling, two lights, octree
bunny.py
glass bunny, ~70k polygons
4x oversampling, two lights, kd-tree
car.py
low poly car model, LWOB format
9x oversampling, two lights, kd-tree
spheres_shadow.py
three spheres, sharp shadows
4x oversampling, two lights, kd-tree
spheres_ao.py
three spheres, ambient occlussion
spheres_glass.py
row of glass spheres
4x oversampling, three lights, kd-tree
render_nff.py [input.nff] [output.png]
renders nff files (http://tog.acm.org/resources/SPD/)
reads stdin if no args given
triangles_*.py
older examples using OBJ file format
C++ Demos
---------
Compiled interactive demos. Camera can move freely in the scene.
realtime.exe
one hundred spheres with reflections
realtime_bunny.exe
bunny model (it loads silently, so be patient)
spheres_shadow.exe
"interactive" version of spheres_shadow.py
textures.exe
demo of different texture mappings
Control keys:
Up, Down, Left, Right look around
w/s forward, backward
c print camera coordinates
spheres_shadow demo supports also:
r/t, f/g, v/b move the light (-x/+x, -y/+y, -z/+z)
z/x change camera focal length (-/+)
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.devl.cz/Pyrit