What is Raptor?

Raptor is a parallel GPU-based volume renderer written for use with Chromium. It can run on both graphics clusters and SSI (Single System Image) machines like the SGI Onyx4. Currently, Raptor is designed to render 16-bit unsigned short datasets like those produced with CT.

What can I do with Raptor?

Here is an example of a 512x512x1024 CT volume running across 4 nodes of SPIRE and driving a laptop display at 5Hz:

Why "Raptor"?

This parallel volume renderer is named Raptor in homage of T-Rex. T-Rex was one of the first parallel rendering engines for SMP graphics systems. Whereas T-Rex was a large predator hunting alone, Velociraptors (Raptors) were much smaller and hunted in packs.

What are the requirements for Raptor?

Besides Chromium, you will need graphics hardware and drivers that support ARB_fragment_program, ARB_vertex_program, and EXT_texture3D.

What shaders does Raptor support?

At the moment, the source code provides a simple Blinn-Phong lighting model, gradient calculation, and 2D transfer function support.

What parts of Chromium does Raptor use?

Raptor relies on Chromium's sort-last compositing SPUs, like the binaryswap SPU, and the distributed event model, CRUT, for interaction. For remote image delivery, Raptor works will with the zpix SPU and with the MPEG compression SPU work from UVA.

Raptor serves as a good example of writing a distributed application using Chromium and CRUT. The main source file, raptor.cpp, demonstrates how to transform a simple GLUT app to use Chromium and CRUT.

 

Mike Houston

Downloads:

Source:

Raptor version 0.1.3 (For Chromium 1.8+) (3/31/2005)

Chromium Config Files:

Automatically divide the volume across nodes

Single remote node

Two remote nodes

Four remote nodes

Documentation

README

Datasets:

Middle Spine  (512x512x256)     (~65MB)

Full CT Torso  (512x512x1536)  (~330MB)

Transfer functions:

Base CT - Shows bone and vasculature