Implementation of the Shear-Warp Algorithm
Sebastian Zambal
Direct volume rendering currently is a fast growing discipline of visualization. This is the case because rendering of usual datasets with resolutions of about 256 cubed (256x256x256 = 16,777,216) voxels is very time consuming and former computers were not able to do computations fast enough. Even with modern PCs it is impossible to render such complex data sets in real time.

A rather new approach to direct volume rendering that works relatively fast is the Shear-Warp Algorithm. Within the scope of the "Informatikpraktikum 1" it was my task to implement the Shear-Warp Algorithm on regular grids, on BCC-grids and add it to vuVolume (which is a tool that covers some different algorithms for volume rendering; vuVolume runs under Linux, is written in C++ and uses wxWindows for its user interface). Also the fast-classification and perspective extensions of the Shear-Warp Algorithm had to be implemented.

Basic literature was the paper [1] "Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation" by Philippe Lacroute and Marc Levoy and [2] the Ph. D. Dissertation with the same title by Philippe Lacroute.

The Basic Idea of the Shear-Warp Algorithm
Orthogonal Shear-Warp Factorisation
Perspective Shear-Warp Factorisation
Creating the Intermediate Image
Grids on Body Centered Cubes (BCC)
About the Implementation

Screenshots

References