Torres, RobertoMartín, Pedro J.Gavilanes, AntonioIsabel Navazo and Gustavo Patow2013-11-082013-11-082012978-3-905673-92-0http://dx.doi.org/10.2312/LocalChapterEvents/CEIG/CEIG12/081-090The quality of the images produced by a global illumination rendering engine is highly connected to the number of paths that are randomly generated from the camera to the light sources. Graphics Processing Units (GPUs) have been used to implement renderers by typically binding each thread to a ray. Nevertheless, this purely random generation does not fit well on the architecture of current GPUs, due to their SIMD nature. We modify the way paths are extended in order to take the most of GPUs. The arrangement of rays is split into groups of contiguous rays. The hemisphere on each intersection point is divided into spherical patches, and the same patch is chosen for all the rays in the group. The next direction for each path will be randomly chosen on that patch. Thus, if the intersection points of a group are near, the new rays spawned will be similar. We have implemented different configurations of this idea on a path tracer in CUDA and they have been experimentally tested on usual scenes. In the same amount of time, most of our algorithms complete more paths and, therefore, they produce images of higher quality than those obtained by the purely random generation.I.3.7 [Computer Graphics]Three Dimensional Graphics and RealismRaytracingI.3.1 [Computer Graphics]Hardware architectureParallel processingGenerating Coherent Ray Directions in Path Tracing