E L U M I A ray tracer for rendering photo-realistic images
Loading...
Download
Date
Type
Examensarbete för kandidatexamen
Bachelor Thesis
Bachelor Thesis
Programme
Model builders
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
This thesis describes the implementation of ELUMI, a cross-platform 3D renderer written in C++. It was conducted in the form of a case study, evaluating different techniques and their impact on the final product. This thesis discusses complications typically encountered when implementing a ray tracer and how these can be circumvented. Considerations were taken concerning quality, rendering speed, extensibility, configurability, and compatibility when features were chosen for implementation. ELUMI is capable of simulating light interacting with surfaces, diffuse interreflections, physically accurate shadows, reflections and refractions, geometric properties using textures, and participating media. The rendering process is parallelized and accelerated with a K-D tree, as well as optimized with shadow caches and a cache aware traversal pattern. To further improve the rendering speed, certain parts can be accelerated using the GPU. ELUMI is also capable of further enhancing the image quality by using anti-aliasing techniques and a tone mapping operator. To ameliorate the user experience, a visual interface was concurrently developed. The development process was carried out iteratively and was facilitated using a distributed version control system. The end results are presented in this thesis.
Description
Keywords
Datavetenskap (datalogi), Computer Science
