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 manufactured. Finally, I reordered the orbs so that the large transparent orb would be the focal point, demonstrating the most complex interaction of light in the scene, and slightly increased the depth of field blur effect.
With all that done, I felt the image had become much softer on the eyes!
If you’re interested, you can get a 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!


