This is a project for the Intro to Software Engineering Course. It is an image rendering program using Java. Developed by Chaim Fishman and Avi Rosenbaum.
The finished program uses ray tracing and object creation to track the intersection points between rays and objects, including the creation of shadows, reflections, opacity to create 3D images. Furthermore there is the ability to have realistic soft-shadows so that shadow edges are more realistic. There is also an algorithm used called Conservitive Bounding Region for Ray Tracing Acceleration to optionally create Images faster at only a slight cost to image quality. The program also uses multithreading to use more cores for faster rendering.
In the development, Object Oriented Programming, Test Driven Design and many design patterns were used to avoid code smells and have well documented, error free code.