By applying modern medical-imaging technologies (CT, MRI), the human body can be investigated in three dimensions (3D). The data set produced by a tomography reconstruction assigns a data value to each point of a 3D lattice, which represents a physical property of a material. The larger the number of the reconstructed samples, the more difficult is the real-time visualization of the 3D data set.
Early CPU-based visualization algorithms are not appropriate for an interactive investigation of the 3D data, since after changing the rendering parameters (viewing direction, transfer function, illumination, cutting planes) the recalculation of the image can take several minutes. However, due to the development of the graphics processors (GPU), today a volumetric data of moderate resolution (5123 voxels) can be rendered in real time even on a PC. The goal of this thesis is to introduce and compare the most popular GPU-based rendering techniques, and to implement a concrete algorithm using a step-by-step software-design methodology.
During the implementation of the application, I evaluated the functional limitations of the standard graphics pipeline, and studied what visualization models can be realized without programming the GPU. Nevertheless, my major goal was to modify the default functionality of the GPU by directly programming the pixel and vertex shaders such that the application supports the most visualization models. I tested the implemented application on real-world medical data.
In order to ensure platform-independence, I used the C++ programming language with the OpenGL graphics library, and I wrote the shader programs of the graphics hardware in GLSL.