Renderers

A renderer uses one or more iterators to implement a specific rendering method. The renderer determines the system configuration (number of CPUs, support of Hyper-Threading, etc.) and instantiates its iterators accordingly. Additionaly, means for overriding these automatically detected settings are provided. Each stage of the volume rendering pipeline is freely configurable using templates. This implementation enables the compiler to produce highly optimized code, because it is able to generate different code versions at compile time. Apart from volume renders, other renders have been implemented (e.g., for two-dimensional on-screen display of dataset information).