This page details my porting of the Business Card Sized Ray Tracer to the D Programming Language. This started as 1337 byte obfuscated C++ program by Andrew Kensler that Fabien Sanglard deciphered. For more information, see Fabien Sanglard's website here:
Most of the changes were similar to those done for the Path Tracer, click here to visit that page!
I changed the text from the original and C++ version...
This took 22,062ms to render...
(512 x 512 with 64 rays per pixel)
To keep the download size small, this is provided as a 7zip archive. Archive includes the compiled exe and source.
Download Ray Tracer (195KB 7Zip)
Updated (15/02/2024)
As with the Path Tracer, this program benefitted a lot from doing the pixel rendering in parallel. It was almost twice as quick suggesting that the load was evenly spread across my two cores:
Parallel Version : 22,062ms
Standard Version : 40,890ms
This version was compiled using the LDC D compiler as follows: ldc2 -O -i trace.d
A lot of the code for this was copied from the Path Tracer which saved a lot of time and again making use of the parallel foreach loop made a big difference to the speed of the program. The advantages of using D is that I have a program that is fast, memory safe and still easy to understand.
Created 16/02/24