This paper describes architecture and implementation of the UltraVis system, a pure software solution for versatile and fast volume rendering. It provides perspective raycasting, tri-linear interpolation, on- the-fly classification using look-up tables, gradient shading (both diffuse and specular reflection), four light sources, and alpha blending. For high frame rates, early ray termination and empty space skipping are implemented. Furthermore, subsampling during motion is provided. The system accepts raw data sets of 8-bit voxels as well as pre-segmented data sets containing up to 16 different materials. For gradient shading, the gradients are precomputed and included in 32-bit voxels. Additionally, the system supports volume animation, i.e., the display of a sequence of data sets. The system was specifically designed for Pentium III CPUs, and makes extensive use of MMX and Streaming SIMD instructions. It is a multi-threaded application and thus takes advantage of multiprocessor platforms. Time-critical portions of the code have been hand-optimized in assembler. As a result, the system can achieve interactive to real-time performance. UltraVis runs on the Windows NT 4.0 operating system on standard PCs.Note: For further information see http://www.hpl.hp.com/ultravis. 9 Pages