Flexible Shader Composing for Pull-based Dataflow in Multi-Volume Rendering
Master Thesis of Matthias Bolte
Modern medical imaging techniques provide volumetric data about different characteristics of the human body. To make a diagnosis this data has to be visualized. The combination and visualization of data from multiple imaging modalities is done by multi-volume rendering. Experimentation with new visualization techniques and combinations requires a flexible system that allows the user to specify and control the visualization process. Dataflow graph-based visual programming is a well-known concept to specify the visualization process by connecting building blocks to a graph.
To achieve interactive frame rates, the dataflow graph is composed to shader code and executed on the GPU. A shader composer does this composition according to the evaluation model that is used for the dataflow graph. The commonly used data-driven evaluation model (push mode) limits the flexibility and expandability of the whole system. Building blocks with special sampling patterns, such as the gradient vector building block, can only be realized as special cases.
This thesis utilizes the demand-driven evaluation model (pull mode) for shader composition. Pull mode allows to realize arbitrary sampling patterns without the necessity of special cases. This allows to realize advanced techniques, such as ambient occlusion, more easily. The average rendering performance benefits from pull mode as well because pull mode comes with new possibilities for optimizing the rendering process.