Skip to Main Content
Volume rendering of multiple intersecting volumetric objects is a difficult visualization task, especially if different rendering styles need to be applied to the components, in order to achieve the desired illustration effect. Real-time performance for even complex scenarios is obtained by exploiting the speed and flexibility of modern GPUs, but at the same time programming the necessary shaders turned into a task for GPU experts only. We foresee the demand for an intermediate level of programming abstraction where visualization specialists can realize advanced applications without the need to deal with shader programming intricacies. In this paper, we describe a generic technique for multi-volume rendering, which generates shader code dynamically from an abstract render graph. By combining pre-defined nodes, complex volume operations can be realized. Our system efficiently creates GPU-based fragment shader and vertex shader programs "on-the-fly" to achieve the desired visual results. We demonstrate the flexibility of our technique by applying several dynamically generated volume rendering styles to multi-modal medical datasets.