A scripted test suite have been added to test program parameters.
Command line paramters introduced to allow the user to configure the scene file and the output he wants to use. Use littleray --help to get details about options.
The introduced AVX wasa performance mistake. The compiler is better to optimization than us. Nevertheless, we keep the coords table implementation to improve vetorization by the compiler himself. This partially reverts commit 4b5b133.
The displays are now modular. It is possible to choose on display or another simply modifying the factory. There's always the SDL display implementation, but a new implementation have been added. This new implementation is like the /dev/null hole and does not display anything.
All factories are moved to the directories of the objects they create.
The embedded XML parser is compiled as a static library and linked with the raytracer at link edition time.
A material has two properties that define its behavior with incoming light. The diffuse property describe how it reflects light: how we see it, and the specular property describe how it shines. Each property has a type ("lambert" for diffuse and "phong" or "blinn" for specular) that defines the underlaying algorithm and a color. Blinn and Phong properties also have a power property to describe the impact of the effect. Now a material use the following syntax in the scene file: <material reflection="0.5> <diffuse type="lambert" red="0.5" green="0.8" blue="0.2" /> <specular type="phong" red="1.0" green="0.7" blue="0.4" power="30" /> </material>