Current Version : 0.3.0
SourceForge.net Project Page
Download latest stable version
Download latest render example
Browse CVS Repository
Nicolas Pillot, aka NeTsaC'h : 22 year-old french student. I live and study in Montreal as part of a student exchange program. It as been settled thanks to the good relationship between the 'Ecole Polytechnique de Montreal' and the 'Ecole Superieure des Sciences Appliquees pour l'Ingenieur de Mulhouse'. This one, located in Mulhouse (Alsace, North-East from France) breeds engineers in control science, electronics, software design, and mecanics.
Useless Junk ?
This software is an implementation on my own of the well-known ray-tracing algorithm. First of all, I must precise that this work is quite useless regarding to the open source community, because a far more better working, tested, used and valuable tool is available in the place of POV-Ray ( http://www.povray.org ). Source code is available too. Therefore, I do not intend RayTracer to be of any kind of challenger.
Why another ray-tracer...
I really see it as my first real attempt to design a full featured, well written, understandable piece of software. That provides me the opportunity to use the software-design knowledge that my teachers tried to bury in our poor little students brains : manage and monito the developement process (with any kind of UP, RUP, SPEM or XP like tool), use Object-Oriented Programming, design Class Diagrams, find Use Cases, and .. well, and so on.
In the Inside
Furthermore, this kind of algorithm offers a variety of domain. We can temper with many different aspects of the code itself : Optics, linear algebra and arithmetic, physics, algorithmic … I plan to give away as much documentation and explanation I could, from proof to example diagram, all done by myself. I hope that I will produce something good enough to be understand by anyone :o)
- working rendering process
- simplest hit/miss raytracing
- diffuse lights
- output as Windows .BMP files
- number of objects/materials limited only by hardware
- only spheres and ellipsoïds objects
- only solid color as material
- objects created in the 'main' code procedure
- Object-Oriented design
- 3D Linear-Algebra package
- Windows .BMP bitmap output
- Exception handling
- Use of the Standard Template Library (STL)
- Pure C++ code, no external libraries
- Plateform independant code, console program