Earlier this week, I finished writing a ray tracing engine. While the results were satisfying from an engineering standpoint, I certainly wanted to make a more appealing render.
I started by programming the colors to pull from a palette, for which I used gruvbox to achieve a warmer look. Then I changed the transparent orbs from a basic glass dielectric material to a hollow diamond dielectric material, and increased the spawn rate of the small hollow diamond orbs. Next, I felt the small orbs might feel more organic and playful if their sizes were randomized because having them all be the same size felt stale. Finally, I reordered the orbs so that the large hollow diamond orb would be the focal point, demonstrating the most complex interaction of light in the scene. There were some other small changes, like changing the metal orb to a festive red and slightly increasing the depth of field blur effect to be a bit more intimate… but that summarizes the key considerations.
With all of that done, I felt the image had become much softer on the eyes!
If you’re interested, you can get a high quality copy of the final render on my GitHub, where you can also find the source code if you would like to render your own (the file color.h has the color palette).
I hope you like it, I had fun!


