A modular GPU raytracer using OpenCL for non-interactive graphics
Universidade do Vale do Rio dos Sinos, Escola Politecnica, Brazil
SBGames, 2016
@article{jung2016modular,
title={A modular GPU raytracer using OpenCL for non-interactive graphics},
author={Jung, Henrique Nunes and Cassol, Vinicius Jurinic},
year={2016}
}
We describe the development of a modular plugin based raytracer renderer called RenderGirl suitable for running inside the OpenCL framework. We aim to take advantage of heterogeneous computing devices such as GPUs and many-core CPUs, focusing on parallelism. We implemented the traditional partitioning scheme called bounding volume hierarchies, where each scene is hierarchically subdivided into axis-aligned bounding boxes, so a ray may only need to traverse a subset of geometry by traversing the BVH and discarding objects it surely cannot hit, optimizing the rendering process. These structures were implemented on a many-core high parallel architecture suitable for OpenCL, which needed a specific binary tree structure implementation ready for stackless traversal on GPUs. RenderGirl is split between two main portions: Core and Interface, where the Core portions provide the bulk of ray-tracing operations and manage the communication with OpenCL; and the interfaces provide communication with a given host program, seeking modularity. In this paper we describe our results and performance gains with our partitioning scheme.
April 11, 2017 by hgpu