Without Precedence

The Joy of Ray Tracing

by Morten Christiansen on 15-04-2009 at 18:35 | comments [0] | posted in Ray Tracing

During the last few weeks I have been very busy with an old project I have taken up again. The project is a ray tracer called Rend, which is written in C#. Ray tracing is a way of rendering 3D images by simulating how light travels through a scene. Despite the heavy use of math and theory this requires, it is possibly the most rewarding and addictive project I have worked on. It is incredibly fascinating to model some physical phenomenon and then watch as it gets rendered on the screen. Even failures can provide for very entertaining and beautiful pictures.

Mostly ray tracing is done in C++ these days as it is a very compute intensive task but you can get equally beautiful images in C# with but a bit of patience. If you can tolerate a some trigonometry and vector math and have the least bit of interest in computer graphics I cannot recommend it enough to try and build your own ray tracer. The central rendering algorithm is not very complex and beyond the math it is easy to integrate different effects into the engine.

For Rend I have set up a project page where I will be maintaining a list of its primary features as well as a showcase of the most interesting effects I have rendered with it. I plan on making a version of Rend available for download but I don't feel it is quite ready for public scrutiny at the moment.

For a peak at what you can do with Rend, here is an image:

A mountain 3D model

Comments