Fix an important bug in Color::operator +=.
Ignore SDL.dll on windows, and also any .patch files laying around.
Add -std=c++11 (enable C++11 features) to compiler command line.
Add ability to access an arbitrary component of a color (i.e., use col[1] instead of col.g).
Add a bitmap class and two test bitmaps.
Sphere geometry. Also add a sphere to the scene.
Correct raytracing algo.
We have shadows! yay
Separate Lambert from Checker. Define texture class.
Implement phong.
Intersection with Cube.
CsgS, ambient
Bitmap texture
Pre merge
Anti-aliasing. This is the code written during the lecture, and is quite buggy.
To be fixed in a subsequent commit.
Fix the bug with antialiasing detection.

The bug was caused by that the detection of the pixels that need
anti-aliasing, and marking of the "interesting" pixels was done in
a single pass. When a previous pixel was deemed "interesting", the
next one had a neighbour which was pure red, and then it turn it was
detected as if it needs antialiasing as well. This caused the picture
to be cluttered with a red sierpinski-triangle like fractals.

The correct code is employed now. Detection of "interesting" pixels
is done in a pass on its own, with the pixels in question being marked
in the needsAA array. After that, another pass on its own does the
painting of the interesting pixels. What you can see now is the
result of the edge-detection, painted in red.

No adaptive antialiasing is done currently, to be done in the next
commit.
Finish adaptive anti-aliasing, using a 5-sample quincunx kernel.

The old code, showing which pixels get anti-aliasing, can be selected
by setting the "previewAA" variable to true.
Add the bitmap.cpp/h to the Code::Blocks project files (Win/Linux).
Fix the bug with the Csg operations.

The bug was caused by the detection of whether we're inside or outside
a geometry. The detection solely relies on number of intersection points
being odd/even. However, the findAllIntersections() function only checks
for intersections up to maxDist - so it may miss some points, and the
inL/inR variables will be initialized to the wrong values.

Solution: modify findAllIntersection() to find all intersections, up to
infinity. And move the check for maxDist inside CsgOp::intersect.

Also, add some debugging code to the raytracer. When the rendering
is finished, and you click somewhere on the image, a 'debug' ray is
sent through that pixel, with the information about the intersection
point/geometries printed to stdout.
Add Visual Studio 2012 template for SDL