Raycasting Engine
About
This was made for the “Mathematics for Computer Graphics” unit for Bournemouth University, for which I attained a mark of 82. The assignment was to make a simple 2D shape renderer that would rasterise circles, triangles, and squares, with grades of 70+ only being given to those who made a raycasting engine.
I made the raycasting engine, but did not feel happy with the speed and the quality of the renders, so I added multithreading support and an anti-aliasing method known as “Super-sampling”, in which the scene is rendered at a much larger resolution then scaled down.
The engine supported up to 16x reflections, 24 bit colour on the spheres, shadows from blocked lights, and smooth lighting. This rendering could be spread over up to 8 threads, and could be rendered up to 16 times the original size for the super-sampling method.