Title: Volume Rendering Architecture Case Study - VolumePro
1(No Transcript)
2Volume Rendering ArchitectureCase Study -
VolumePro
- Presentation By
- Boaz Ophir
- Isak Levinson
Visualization and Animation winter 2002
3Volume Visualization Applications
- Applications
- Medical data
- Seismic data
- Finite element models
- Demands
- Real time
- Interactivity
- Low cost
4Challenges
- Huge amounts of voxel data
- Data access
- Storage
- Transport
- Computation
- Relatively simple computations per voxel
5Solution Ideas
- Data Acces
- Smart data partitioning
- Parallel data access
- Computation
- Parallelizm
- Pipelining
6VolumePro General Overview
- Single chip real time volume rendering system for
PCs - System consists of
- PCI card
- Companion 3-D graphics card
- Software
- VolumePro PCI card
- 128MB volume memory
- Vg500 rendering chip (ASIC)
7VolumePro General Overview (cntd.)
- Chip architecture based on the cube-4 volume
rendering architecture - SUNY stony brook
- EM-cube
- Enhanced memory cube-4
- Produced by Mitsubishi electric real time
visualization group
8Main Features
- Data
- Rectilinear datasets
- 8/12bit voxels
- Per-sample
- Classification
- Interpolation
- Gradient estimation
- Phong ilumination
- Compositing
- All parameters can be adjusted in RT
9Main Features (cntd.)
- Classification
- Assigns RGBA values using 4096x36 LUT
- 24 bit precision RGB values
- 12 bit precision a values
- Interpolation
- Tri-linear weighted average of closest voxels
- Phong Ilumination
- Pre-computed reflectance maps for diffuse and
specular illumination - Each map sums all illumination from all light
sources - Unlimited number of directional light sources
- Opacity and illumination are optionally
multiplied with gradient magnitude - Base plane Compositing
- Front-to-back alpha blending
- Minimum/maximum intensity projections
10System Architecture
- 4 identical rendering pipelines
- 125 MHz
- On-chip voxel distribution network
- Voxel memory
- Pixel memory
- PCI bus
- Block-and-bank skewing scheme
11System Architecture (cntd.)
12Rendering Algorithm
- Create 2D image from the volume data set
13Ray Casting
- Casting the rays through the volume and define
sample points - Assigning color and opacity to the sample points
- Interpolating voxels to the new sample points
- Calculate gradients
- Assign lighting to the image
- Accumulate color and opacity to create the image
14Ray Casting Casting Rays
- Casting the rays through the volume and define
sample points
15Ray Casting Casting Rays 2
- Advantage voxels processed in planes slices
16Ray Casting Assigning Color
- Assign RGBA value to each interpolated voxel
- RGBA is taken from 4 lookup tables
17Ray Casting Interpolation
Trilinear interpolation of voxels to the new
sample points
18Ray Casting Gradients
- Method
- Central differences
- User pre-computed
- Purpose
- Correct unisotropic images
- Used by the illumination model
- Used for color accumulation
19Ray Casting Illumination
- Phong lighting model
- Calculate gradients
- Diffuse reflection
- Specular reflection
- Ambient reflection
- Emission
20Ray Casting Accumulating Color
- Accumulate color and opacity to create the image
- Perform alpha correction
- Front to back accumulation
21Ray Casting Accumulating Color Example
22Voxel Memory
- Four 16-bit memory interfaces
- Up to 128 MB SDRAM
- Miniblocks
- 2x2x2 neighbouring voxels
- Miniblocks are stored linearly
- Read/written in bursts (SDRAM fast burst mode)
- 3-D skewing of miniblocks
- Distribution across memory modules
- Groups of 4 adjacent MBs (in any direction) are
stored in separate memory modules
23Voxel Memory (cntd.)
- Further skewing whithin each memory module so
adjacent MBs never fall into same memory bank of
SDRAM chip - Calculation
- Voxel Coord (u,v,w)
- MiniBlock Coord (um,vm,wm)(u/2,v/2,w/2)
- Module (umvmwm) mod 4
- Bank ((um/4)(vm/4)(wm/4)) mod 4
24(No Transcript)
25Voxel Memory (cntd.)
- Voxel memory must be allocated so all dimentions
are multiples of 32 voxels - Automatic cropping during rendering
- Arranging voxels in MiniBlocks,
skewing/deskewing, re-shuffeling and rearranging
based on view direction are all done by hardware - Result
- Rendering pipelines always have access to 4
adjacent miniblocks
26Advanced Features
- SuperSampling
- In the Z axis
- Supervolumes Subvolumes
- 2563 voxels in one pass
- Software partitions larger volumes and combines
results - Multiple Subvolumes can be pre-loaded to volume
memory - Subvolumes can be updated in-between frames
- Dynamic and partial updates to achieve animation
effects - Loading volume in pieces to pan through volume
27Advanced Features (cntd.)
- Cropping
- Multiple clipping planes parallel to volume faces
- Combination of intersections, unions inverses
- Cut Planes
- Single cut plane
- Arbitrary orientation and thickness
- Falloff parameter for smooth cuts
- 3-D cursor
- Hardware generated
- Software controlled
28(No Transcript)
29(No Transcript)
30(No Transcript)
31VLI Volume Library Interface
- VLI API
- C classes
- Full access to vg500 chip features
- Works cooperatively with 3D graphics libarry
(such as OpenGL) - VLI classes
- Data handling
- Voxel storage
- Voxel format
- Transformations shearing, scaling, positioning
32VLI (cntd.)
- Rendering elements
- Color opacity LUTs
- Lights
- Cut planes
- Cropping
- Etc.
- Rendering context
- Specify data set
- Rendering parameters
- Much much more
33Future Developments
- Additional features
- Perspective projections
- Intermixing polygons with volume data
- Additional voxel formats
- Improvements
- Increased speed
- Increased memory
- Reduced cost