This project was a semester project for the course Data Structures for Computer Graphics. The task was to choose a single optimization algorithm or advanced data structure to implement (majority of the topics are on raytracing, some on rasterization and nearest neighbour search). I've chosen to implement an optimization algorithm for bounding volume hierarchies (BVH in short) that was proposed by JiÅÃ Bittner, Michal Hapala and Vlastimil Havran (course lecturer) in 2013. The paper is called Fast Insertion-Based Optimization of Bounding Volume Hierarchies and is available here.
For the assignment we were given a framework for raytracing written by doc. Havran called NanoGolem which is a barebones version of his much larger framework implementing plethora of important algorithms. Unfortunately I cannot provide the source code for this assignment due to doc. Havran's wishes. In the framework, a basic BVH implementation was already present, I was responsible for creating the optimization algorithm that sped up rendering times.
Presentations & Report
During the course we presented our algorithms with two presentations in Czech language. Here, you can view the theoretical presentation that highlights the important parts of the algorithm. And here you can view the second presentation of my results. The final report (also in Czech) is also available here.
Programming Languages and Libraries