We introduce a parallel, distributed memory algorithm for volume rendering massive data sets.
The algorithm's scalability has been demonstrated up to 400 processors,
one hundred million unstructured elements in under one second.
The heart of the algorithm is a hybrid approach that parallelizes
over both the elements of the input data and over the pixels of the output
image. At each stage of the algorithm, there are strong limits
on how much work each processor performs, ensuring
good parallel efficiency. The
algorithm is sample-based. We present two techniques for calculating
the sample points: a 3D rasterization technique and a kernel-based technique,
which trade off between speed and generality.
Finally, the algorithm is very flexible. It can be deployed in general purpose
visualization tools and can also support diverse mesh
types, ranging from structured grids to curvilinear and unstructured meshes
to point clouds.