 |
1. Introduction
Among several rendering techniques, direct volume rendering has become an
invaluable visualization technique for a wide variety of applications.
Visualization of medical data such as the Visible Human, seismic data from oil
or gas exploration, and computed finite element models are common examples.
While direct volume rendering is very popular, software approaches are usually
limited and far from interactive due to the large amount of data, expensive
computations, and tremendous bandwidth requirements. As an alternative to
software rendering, the use of 3D texture mapping hardware has been recognized
as a very efficient acceleration technique to achieve real-time frame rates or
interactive frame rate for volume rendering. Recently, large static and
time-varying volume data, which consists of a sequence of 3D volume data, have
been generated in various fields such as oceanography, astronomy, and
computational fluid dynamics. This data is often much more difficult to
visualize and accelerate because of its huge size even if 3D texture mapping
hardware is available. In this project, we are going to develope hardware
accelerated algorithm to render the large size data and time dependent data in
real time.
2. Parallel Algorithm and Multipipe of Onyx2
- In parallel algorithm, it is important to determine how to effectively
subdivide given tasks into a number of small jobs. Image-space and
object-space subdivision are the most popular methods in parallel volume
rendering. In image-space subdivision, various optimization techniques, such
as the early ray termination and hierarchical data structure proposed for
enhancing rendering speed, can be used. But, the data access pattern during
parallel rendering is very irregular, which results in swapping texture memory
quite often. The method is better suited for parallel rendering of volume data
smaller than texture memory size. While object-space subdivision is more
amenable to parallellization and can expolit the data coherence very easily,
it is difficult to apply the early ray termination technique.
- The above figure illustrates the overview of our algorithm based upon the
object-space division method to minimize texture swapping. The master pipe P0
plays an important role in controlling the slave pipes P1, P2, P3, P4, P5 and
compositing sub-images. The slave pipes render assigned bricks and write
sub-images on shared memory space under the control of the master pipe. And
the polygonization process as a separate thread process continues to generate
the sequences of polygons perpendicular to the viewing direction until the
program is finished.
- As soon as the current view is set, a rendering order of bricks is
determined. Each pipe starts creating sub-images for the assigned bricks and
then the master pipe composes the sub-images according to the order. Our
algorithm needs synchronization for every frame between master and slave
pipes. Because the master pipe has to wait until all slave pipes write
sub-images in shared memory space, the actual frame rate is affected by the
slowest pipe. We tried to solve this problem using the proportional brick
assignment. The same multipipe rendering scheme can be applied to not only
static but also time-varying data with little modification. It is natural that
the rendering of time-varying data should require much more texture swapping.
To reduce the cost of texture loading, the algorithm routinely checks whether
the current brick to be rendered is already stored in texture memory. We can
control the rendering speed and playing direction for each timestep of
time-varying data. Since our texture-based parallel algorithm is based on
rendering sampling planes intersected with bricks, volume data is also
considered a geometric object. So, it is easy to combine volume data with
common geometric objects in an image.
3. Results and Images
 |
 |
 |
|
Visible human female MRI data Shaded
head with skin Data Resolution : 256x512x512
|
Visible human male CT data Shaded head
with skin Data Resolution : 512x512x256
|
Visible human male CT data Shaded head
with bone Data Resolution : 512x512x256
|
| |
|
|
 |
 |
 |
|
Visible human male CT data Shaded whole
body with skin Data Resolution : 512x512x1294
|
Visible human male CT data Shaded whole
body with muscle and bone Data Resolution : 512x512x1294
|
Visible human male CT data Shaded whole
body with bone Data Resolution : 512x512x1294
|
 |
 |
|
Barbados data Barbados only Data
Resolution : 512x256x2048
|
Barbados data Barbados with wells
Data Resolution : 512x256x2048
|
| |
|
|
 |
 |
|
Barbados data Barbados with wells
Data Resolution : 512x256x2048
|
Barbados data Barbados Data
Resolution : 512x256x2048
|
The above
10 images was genereated by SGI Onyx2 system which has 24 R12000 processors, 25
giga bytes of main memory, six InfiniteReality2 graphics pipes with multiple 64
mega bytes of raster managers, and RM9 Raster Managers.
The following 12
images was generated by PC which has NVIDIA's GeForce3 GPU graphics card. The
hardware accelerated rendering techniques are used to make the following images.
To use the GeForce3 hardware, we have to use the OpenGL extensions like
GL_NV_texture_shader2, GL_NV_register_combiners, GL_EXT_texture3D,
GL_EXT_paletted_texture, GL_ARB_multitexture and so on. Since the GeForce3 card
allows the 3D texture shading, the image quality is better than the pixel of
frame buffer based shading in showing two materials at the same time.
 |
 |
 |
|
Visible human female CT data Data
Resolution : 256x256x128
|
Visible human male CT data Data
Resolution : 256x256x128
|
Visible human male CT data Data
Resolution : 256x256x128
|
| |
|
|
 |
 |
 |
|
Visible human female CT data Skin only
Data Resolution : 256x256x128
|
Visible human male CT data Skin only
Data Resolution : 256x256x128
|
Visible human male CT data Skin only
Data Resolution : 256x256x128
|
| |
|
|
 |
 |
 |
|
Visible human female CT data Bone only
Data Resolution : 256x256x128
|
Visible human male CT data Bone only
Data Resolution : 256x256x128
|
Visible human male CT data Bone only
Data Resolution : 256x256x128
|
| |
|
|
 |
 |
 |
|
Visible human female CT data Skin and
Bone Data Resolution : 256x256x128
|
Visible human male CT data Skin and
Bone Data Resolution : 256x256x128
|
Visible human male CT data Skin and
Bone Data Resolution : 256x256x128
|
| |
|
|
4. Others
- Technical
Report Download
- Texture
Based Methods vs. Traditional Methods
|
 |