Raytracer is another Ray-Tracing Program. Full impementation from scratch of this well-known algorithm using C++. Thanks to OOP, the code is very simple and not really optimized.
Here are some key features of "raytracer":
· End-User Features
· 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 ellipsods objects
· only solid color as material
· objects created in the 'main' code procedure
· Developper Features
· 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
What's New in This Release:
· added *, +, -, *=, +=, -= operator for Color
· added computation of normal for objects
· added computation of U,V coord for objects
· modifed Light::getVisibilityFromPoint parameters
· done DiffuseLight::getVisibilityFromPoint behaviour
· moved Scene::ambientcolor to SimplestRayTracer
· added computeColor to RayTracer
· added LightRayTracer
· moved Scene::ambientlight to LightRayTracer
· updated SimplestRaytracer & LightRaytracer's toString
· added & modified Object::convert* methods
· corrected bug in Object::convertPoint3dToGlobal (local vector computation error)
· corrected bug in Ellipsoid::getSurfaceData (normal vector computation error)
· corrected bug in Intersections::getFirstVisible (using epsilon to skip start point)
· added LogConsole member in Utils, and moved epsilon from Polynom
· updated computation progress output
Product's homepage