Ray tracing is a rendering technique known for its ability to create believable, photo-realistic computer-generated imagery. By modelling the way that light rays behave in the real world, environments can be simulated with accurate portrayals of shadows and reflections alongside a variety of many other optical effects that exist in nature.
An open-source implementation of a Ray Tracer in Java is available on GitHub. This implementation uses TornadoVM to accelerate ray tracing for rendering primitive shapes (e.g. spheres) along with the reflection and shadow effects.
Vanilla Java Ray Tracer
Accelerated Ray Tracer on GPU