Reflections!
Reflections have now been added to the raytracing algorithm. In the image above I set both spheres to have reflective properties, and you can see the results for yourself. It may not be the best scene layout for demonstrating the feature but it’ll do.
Other things I’ve added is more GUI controls so that the user can see the progress of the rendering and choose different options. A popup window appears once the rendering has completed to display the rendering time. Note in the image that it’s over 4 seconds to render as it’s running in Debug mode, the published version renders the image in 1.8 seconds on the same computer.
To improve the user interface the PictureBox (where the rendering is displayed) can now display portions of the image as it is being rendered instead of needing to wait for the entire image to be calculated for any results. The last thing I added was a second rendering mode called QuickRender, this mode effectively renders at half the resolution by skipping every other pixel.
I also rewrote the program a bit. I rewrote the raytracing function to be more recursive, which was necessary to implement the reflections.
I will try to upload a build of this to my Projects page soon.
-Thomas






