TERARECON, INC. Ray-casting in VolumePro™ 1000 Yin Wu, Vishal Bhatia, Hugh Lauer, Larry Seiler.
-
Upload
jacob-kelly -
Category
Documents
-
view
213 -
download
0
Transcript of TERARECON, INC. Ray-casting in VolumePro™ 1000 Yin Wu, Vishal Bhatia, Hugh Lauer, Larry Seiler.
TERARECON, INC.TERARECON, INC.
Ray-casting inRay-casting inVolumePro™ 1000VolumePro™ 1000
Yin Wu, Vishal Bhatia, Hugh Lauer,Larry Seiler
2 TERARECON, INC.TERARECON, INC.
VolumePro™ 1000 SummaryVolumePro™ 1000 Summary
Second generation real-time volume rendering accelerator
Ray-casting at 109 samples per secondRay-per-pixel image qualityTranslucent & opaque embedded polygons8-, 16-, & 32-bit voxels (up to four fields)Geometry-based space leaping, early ray
termination…
3 TERARECON, INC.TERARECON, INC.
The Challenge in Ray-castingThe Challenge in Ray-castingPerformance Performance vs.vs. Image Quality Image Quality
Shear-Warp Traverse & resample
data in memory order. Warp needed for final
image.Fast
Efficient memory access VolumePro 500
Image Quality 2nd resampling No embedded geometry
Full Image order Traverse & resample
data in pixel order
Image Quality No 2nd resampling Embedded geometry
Performance Memory accesses similar
to random access.
4 TERARECON, INC.TERARECON, INC.
VolumePro 1000 Ray-castingVolumePro 1000 Ray-casting
Rays through pixels on image plane Image quality equiv. to
full image order No 2nd resampling
5 TERARECON, INC.TERARECON, INC.
VolumePro 1000 Ray-castingVolumePro 1000 Ray-casting
Rays through pixels on image plane …
Samples organized in planes parallel to faces of the volume Traverse & process
data in memory order Maximize memory
performance
6 TERARECON, INC.TERARECON, INC.
Voxel processing part Traverse data slice-by-slice in memory order Read voxels for each slice of samples Voxel-oriented processing (e.g., gradient estimation) Store in on-chip buffers
Sample processing part Define sample points where rays intersect slices Traverse & interpolate on-chip buffer in pixel order Sample-oriented processing
e.g., illumination, filtering, depth testing, compositing Output to image
xyxy-image order — 2 parts-image order — 2 parts(aka (aka shear-image ordershear-image order))
7 TERARECON, INC.TERARECON, INC.
VolumePro 1000 ray-castingVolumePro 1000 ray-casting(Additional optimizations)(Additional optimizations)
Section: rays assoc. with tile of image plane Minimize on-chip buffer space All slices of a section processed before next section Enables early ray termination
Mini-block and stamp organized memory Burst accesses to 222 voxels or 22 pixels
From VolumePro 500
Skewed across eight memory channels Parallel access to 8 adjacent mini-blocks or stamps
in any dimension From VolumePro 500, Cube-4 (SUNY Stony Brook)
8 TERARECON, INC.TERARECON, INC.
Block DiagramBlock Diagram
On-chip Slice buffers
Sam
ple
proc
essi
ng
Sam
ple
proc
essi
ng
Sam
ple
proc
essi
ng
Sam
ple
proc
essi
ngV
oxel
proc
essi
ng
Vox
elpr
oces
sing
Vox
elpr
oces
sing
Vox
elpr
oces
sing
Seq
uenc
er16
-nod
e S
IMD
pro
cess
or
Voxels (organized as mini-blocks)
Pixels (organized as stamps)
control
control
Memory Interfaceeight channels
16-bit DDR SDRAM
(266-333 MHz)
PCI bus Interface33-66 MHz
Pipelines250 MHz
9 TERARECON, INC.TERARECON, INC.
Technical summaryTechnical summary
Four 250 MHz pipelines, 109 samples per second
Trilinear interpolations on seven channels Four colors or voxel fields Three gradient components
Classification of (up to) four voxel fields Phong illumination calculation 25-30 individual visibility tests Alpha correction, gradient magnitude modulation
Perspective rendering (in Shear-Warp)
10 TERARECON, INC.TERARECON, INC.
What next?What next?
Is 109 samples/second enough? 1 megapixel at 15 fps ~66 samples/ray (average) Not very many, even with aggressive space leaping
Major items yet to be done Content-based space-leaping Faster memory, pipelines, and Sequencer Perspective volume rendering More programmability
15 TERARECON, INC.TERARECON, INC.
Embedding Surfaces in Embedding Surfaces in VolumesVolumes
Allows inserting pointers, medical prostheses, or geological data markers into the volume
Also supports arbitrary clipping regions, all in real time
Each ray is cast in multiple segments, between surfaces specified by depth buffers
Surface rendering performed in 3D graphics chip using OpenGL
Front clip bounds
Opaquebackground
Trans- lucent surface
16 TERARECON, INC.TERARECON, INC.
Embedding Surfaces in Embedding Surfaces in VolumesVolumes
Allows inserting pointers, medical prostheses, or geological data markers into the volume
Also supports arbitrary clipping regions, all in real time
Each ray is cast in multiple segments, between surfaces specified by depth buffers
Surface rendering performed in 3D graphics chip using OpenGL
17 TERARECON, INC.TERARECON, INC.
Embedding Surfaces in Embedding Surfaces in VolumesVolumes
Allows inserting pointers, medical prostheses, or geological data markers into the volume
Also supports arbitrary clipping regions, all in real time
Each ray is cast in multiple segments, between surfaces specified by depth buffers
Surface rendering performed in 3D graphics chip using OpenGL
18 TERARECON, INC.TERARECON, INC.
Embedding Surfaces in Embedding Surfaces in VolumesVolumes
Allows inserting pointers, medical prostheses, or geological data markers into the volume
Also supports arbitrary clipping regions, all in real time
Each ray is cast in multiple segments, between surfaces specified by depth buffers
Surface rendering performed in 3D graphics chip using OpenGL