TERARECON, INC. Ray-casting in VolumePro™ 1000 Yin Wu, Vishal Bhatia, Hugh Lauer, Larry Seiler.

18
TERARECON, INC. Ray-casting in Ray-casting in VolumePro™ 1000 VolumePro™ 1000 Yin Wu, Vishal Bhatia, Hugh Lauer, Larry Seiler

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

11 TERARECON, INC.TERARECON, INC.

Pretty Pictures

12 TERARECON, INC.TERARECON, INC.

13 TERARECON, INC.TERARECON, INC.

14 TERARECON, INC.TERARECON, INC.

Supplementary Slides

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