BS in Computer Science
Computer Science Department
Achieving interactive and realistic rendering is only possible with a combination of rendering algorithms, rendering pipelines, multi-core hardware, and parallelization APIs. This project explores and implements two photon mapping pipelines based on the work of Mara et. al  and Singh et. al  to achieve interactive rendering performance for a set of simple scenes using OpenCL and C++ to work with a GPU. In particular, both a 3D hash grid and a screen-space tiling algorithm are parallelized to accelerate photon lookup in order to compute direct and indirect lighting on visible surfaces in a scene. By using OpenCL with photon mapping interactive renderings of scenes were produced and updated live as a user moved a virtual camera. This work with OpenCL paved the way for developing a raytracing pipeline in OpenGL and for future work on the latest research in realtime realistic rendering.