In this thesis the possibilities for real-time visualization of OpenVDB
files are investigated. The basics of OpenVDB, its possibilities, as well
as NanoVDB and its GPU port, were studied. A system was developed
using PNanoVDB, the graphics API port of OpenVDB. Techniques were
explored to improve and accelerate a single ray approach of ray tracing.
To prove real-time capability, two single scattering approaches were
also implemented. One of these was selected, further investigated and
optimized to achieve interactive real-time rendering.
It is important to give artists immediate feedback on their adjustments, as
well as the possibility to change all parameters to ensure a user friendly
creation process.
In addition to the optical rendering, corresponding benchmarks were
collected to compare different improvement approaches and to prove
their relevance. Attention was paid to the rendering times and memory
consumption on the GPU to ensure optimal use. A special focus, when
rendering OpenVDB files, was put on the integrability and extensibility of
the program to allow easy integration into an existing real-time renderer
like U-Render.
Simulation von Rauch
(2019)
This bachelor thesis deals with the simulation of smoke in a particle
system. Here the possibilities are investigated to implement smoke as
realistically as possible in a particle system and to calculate it in real time.
The physical simulation is based on the work of Müller and
Ren, who deal with the physical properties of fluids and gases.
The simulation was implemented on the GPU using C++, OpenGL and
the compute shaders available in OpenGL. Special attention was paid
to the performance of the simulation. Hoetzlein techniques are
used to accelerate the particle system. Two acceleration methods were
then implemented and compared. The runtime, but also the used memory
space of the GPU is discussed.