Pyrit Ray Tracer
Current Features
- C++ API and Python binding
- shapes: triangle, sphere, box
- spatial subdivision algorithms: octree, kd-tree
- packet tracing (trace packets of four rays, using SSE instruction set)
- reflection, refraction, sharp shadows
- Phong lighting model
- ambient occlusion
oversampling (4×, 9×, 16× grid)
- subsampling (basic, color based)
example readers of various formats: Stanford .ply, Wavefront .obj, LightWave .lwo and SPD's .nff
Planned Features
- adaptive and stochastic (non-grid) sampling
absorption of rays in material (Beer-Lambert law)
Demos
The package contains several demos both in Python and C++. Each Python demo renders a scene and saves resulting picture into PNG file. Some demos need models from Stanford Scanning Repository which can be automatically downloaded by scons download-models. All C++ demos require SDL for interactive browsing of scenes.
Download
Source
bzr branch http://bzr.devl.cz/pyrit
- Win32 demos (MSVC9.0)
Doxygen documentation: online
How to build
Build is done by SCons. Other dependencies are SDL and libpng for C++ demos, Python for Python module and demos, tar and wget for model files auto-downloading.
scons no-docs builds everything but docs and also downloads models needed by some of the demos
scons no-download or just scons does not download models
scons all builds everything including docs (needs Doxygen)
scons -h shows all targets
scons -c cleans build directory
Pictures
License
This software is published under terms of MIT license