Use Cases

Ray Tracing

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. 

java-raytracer.gif

Vanilla Java Ray Tracer

tornadovm-raytracer.gif

Accelerated Ray Tracer on GPU

The left image shows a screenshot of the execution with vanilla Java, while the right image shows the execution with TornadoVM on an NVIDIA GPU 1050.