For my course in Computer Graphics, we had to implement the two basic algorithms in CG: Ray Tracing (using physics theory of viewing and lighting rays to evaluate the color of each pixel) and Rasterization (slap all triangles down to the screen using Matrix transformations).
More images beneath the cut.
It can be frustrating at times – one small error can have disastrous consequences, but that’s more of a general problem when I code. We got some example objects to render, and I must say the results are great. It’s pretty incredible that with these – relatively simple – algorithms, one can render quite a realistic (geometry-wise) image of an object.