Raytracing based Renderer for Sphere-Packings

This thesis is about the implementation of a raytracing based renderer for sphere-packings, called ProtoRender.

Description

The renderer uses different methods inside the raytracing approach. These methods range from simple ray-casting using only one ray per pixel to pathtracing, using multiple rays and multiple samples. Performance-tests on these methods were conducted using a broad range of computer-systems to gather meaningful data. Acceleration structures were implemented at varying degrees with optional visualizers to dynamically witness the integration of these structures. Additionally some attempts were made to render Metaballs. Generally, rendering is based on a tiled approach across all algorithms to provide a stable and highly configurable experience. Tiling in this case means that the algorithm divides the image into chunks to avoid long periods of GPU unresponsiveness.

Results

A renderer with multiple rendering and acceleration techniques was implemented. The rendering methods are both useful for quick visualizations or for creating presentable images. The performance in the raycasting approach is good enough for interactive rendering while the pathtracing approach takes longer. However, combining these two methods (e.g. use a fast shader to position the camera and then use a slower, but more realistic shader to make the final render) yields a good user-experience as well as good looking images. Experiments with Metaballs show interesting results and may prove to be a good starting point for future work.

The pathtracing algorithm produces the best image quality but is relatively slow. A comparison between low and high sample rates can be seen down below.

The pictures below depict some visualization shaders for the acceleration structures. The first two pics visualize a grid, the last pic a BVH.

Finally a column chart which shows the render-time difference between pathtracing with and without acceleration using different sphere counts:

Files

Full version of the bachelor thesis (English only)

License

This original work is copyright by University of Bremen.
Any software of this work is covered by the European Union Public Licence v1.2. To view a copy of this license, visit eur-lex.europa.eu.
The Thesis provided above (as PDF file) is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International.
Any other assets (3D models, movies, documents, etc.) are covered by the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit creativecommons.org.
If you use any of the assets or software to produce a publication, then you must give credit and put a reference in your publication.
If you would like to use our software in proprietary software, you can obtain an exception from the above license (aka. dual licensing). Please contact zach at cs.uni-bremen dot de.