RayPong is a version of pong rendered by a raytracer completely on the CPU in real-time. It primarily serves as a proof of concept for the MPMA Framework, whose goal is to trivialize writing a game that will compile and run on multiple platforms without change (currently Windows and Linux, though others will be added at some point). It's secondary purpose was to give me something to do with my quad core CPU. The app is designed to scale well with the number of CPUs, making it future-proof as well. It is also optionally network multiplayer!

To attain real-time performance, the ray tracer is written completely with speed in mind. Flexibility and, in a couple minor cases, correctness, are sacraficed without remorse. There is no recursion in the ray tracer. All objects are directly coded into it, so there is not even looping over objects per-pixel. Additionally, several scene-specific optimizations (early elimination checks) are hardcoded in. The result is a simple ray tracer fast enough for real-time use on a high-end multi-core system. For example, on my 45nm Core2 Quad 2.67GHz, I get roughly 43FPS at 400x400.