GL4D: A GPU-based Architecture for Interactive 4D Visualization

Abstract

This paper describes GL4D, an interactive system for
visualizing 2-manifolds and 3-manifolds embedded in four Euclidean
dimensions and illuminated by 4D light sources.
It is a tetrahedron-based rendering pipeline that projects geometry
into volume images, an exact parallel to the conventional
triangle-based rendering pipeline for 3D graphics. Novel features
include GPU-based algorithms for real-time 4D occlusion handling and
transparency compositing; we thus enable a previously impossible
level of quality and interactivity for exploring lit 4D objects.
The 4D tetrahedrons are stored in GPU memory as vertex
buffer objects, and the vertex shader is used to perform per-vertex
4D modelview transformations and 4D-to-3D projection.
The geometry shader extension is utilized to slice the
projected tetrahedrons and rasterize the slices into individual 2D
layers of voxel fragments. Finally, the fragment shader performs
per-voxel operations such as lighting and alpha blending with
previously computed layers. We account for 4D voxel occlusion along
the 4D-to-3D projection ray by supporting a multi-pass back-to-front
fragment composition along the projection ray; to accomplish this,
we exploit a new adaptation of the dual depth peeling technique to
produce correct volume image data and to simultaneously render the
resulting volume data using 3D transfer functions into the final
2D image. Previous CPU implementations of the rendering of
4D-embedded 3-manifolds could not perform either the 4D
depth-buffered projection or manipulation of the volume-rendered
image in real-time; in particular, the dual depth peeling algorithm
is a novel GPU-based solution to the real-time 4D depth-buffering
problem. GL4D is implemented as an integrated OpenGL-style
API library, so that the underlying shader operations are as
transparent as possible to the user.