Programming Tutorials
NOTE: These tutorials refer to older versions of Voreen are therefore somewhat outdated. They might still contain some useful information.Raycasting
Raycasting is a technique to visualize volume data at interactive frame rates and the primary rendering technique in Voreen. For every pixel of the image plane a ray is traced through the scene starting from the viewer. If the ray hits the volume the color of the pixel is calculated by sampling the data values of the ray at a finite number of positions in the volume. On each sample the transfer function is applied and composited with accumulated values of the ray. There are several acceleration techniques to speed up raycasting, e.g., early ray termination and empty space skipping. This tutorial gives a brief overview about GPU-based raycasting in general and describes how it is implemented in Voreen.
GLUT Example
This tutorial shows how to use Voreen together with the GLUT library. GLUT, short for OpenGL Utility Toolkit, is a programing interface for writing window system independent OpenGL programs and can be used instead of Qt for the OpenGL output of Voreen.
Volume API
This tutorial deals with the handling of volumes used by Voreen. This covers the different classes of the volume API, the connection to OpenGL and the used representation as textures, and the loading mechanism.
Interaction in Voreen
This tutorial is going to focus on how interactive elements in the canvas (where the three-dimensional data is displayed) are handled. We will discuss our subject using Voreen's trackball navigation as an abstract approach and its clipping planes as a detailed example.