Interactive Volume Rendering by Progressive Refinement
Master Thesis of Robert Gmyr
Tools for rapid prototyping of volume rendering pipelines allow users to explore volume data sets while experimenting with different visualization techniques and their parameters. A major problem of these tools is that changes to the camera position or to the rendering pipeline may result in considerable drops in frame rate. Additionally, some visualization techniques might be too computationally expensive to achieve interactive frame rates in the first place. However, interactivity is crucial for a continuous exploration and experimentation process.
This thesis presents an approach that attempts to achieve and maintain interactivity in volume rendering by using progressive refinement. Rendering by progressive refinement denotes the process of first rendering and displaying an approximation to the desired image and then progressively refining this approximation on the screen when time is available. Such a process replaces the change in frame rate that is typical for conventional rendering by a change in image quality and, therefore, allows continuous exploration and experimentation. The presented approach is based on GPU volume ray casting and achieves progressive refinement by sampling the image plane with a progressively increasing number of rays and reconstructing intermediate images. In addition to progressive refinement, the approach employs stochastic sampling and supersampling in order to improve the image quality.
A practical evaluation shows that while progressive refinement introduces an overhead to the rendering process, the presented approach is indeed capable of maintaining interactive frame rates even for complex visualization techniques. At the same time, the image quality achieved in the late stages of the refinement process can be perceivably superior to the quality achieved by volume ray casting without stochastic sampling and supersampling. While the approach is applied to rapid prototyping of volume rendering pipelines in this thesis, it is by no means limited to this application but can be used for volume rendering in general.