Hardware accelerated adaptive ewa volume splatting
Download
1 / 30

melder - PowerPoint PPT Presentation


  • 247 Views
  • Updated On :

Hardware-Accelerated Adaptive EWA Volume Splatting. Wei Chen ZJU Liu Ren CMU Matthias Zwicker MIT Hanspeter Pfister MERL. Volume Splatting. Object-order method 3D reconstruction kernel centered at each voxel (elliptical Gaussian)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'melder' - paul


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Hardware accelerated adaptive ewa volume splatting

Hardware-Accelerated Adaptive EWA Volume Splatting

Wei Chen ZJU

Liu Ren CMU

Matthias Zwicker MIT

Hanspeter Pfister MERL


Volume splatting
Volume Splatting

  • Object-order method

  • 3D reconstruction kernel centered at each voxel (elliptical Gaussian)

  • Voxel contribution = 2D footprint (color, opacity)

  • Weighted footprints accumulated into image

2D footprints = splats

Screen

Voxel kernels


Related work
Related Work

Quality

Westover1989

Crawfis 1993

EWA

Swan 1997

Mueller 1999

Image-

aligned

Huang 2000

Zwicker 2001

Our work

Swan

Xue 2003

Axis-

aligned

Speed

Fast splats

Texture splats

OpenGL ex

Software


Outline
Outline

  • EWA volume splatting

  • Adaptive EWA splatting

  • GPU implementation

  • Results and conclusions


Ewa volume splatting
EWA Volume Splatting

Low-Pass Filter

Projection

W

Convolution

EWA volume resampling filter

  • Compensate aliasing artifacts due to perspective projection

  • EWA Filter = low-pass filter warped reconstruction filter

Volume


Ewa volume splatting 512x512x3
EWA Volume Splatting (512x512x3)

Reconstruction filter only: 6.25 fps EWA filter: 4.97 fps

Low-pass filter only: 6.14 fps EWA filter: 3.79 fps


Analysis of ewa filter
Analysis of EWA Filter

Minification

Warped recon-

struction kernel

Low-pass

filter

Resampling

filter

Magnification


Analysis of ewa filter1
Analysis of EWA Filter

  • Shape of EWA Splat is dependent on distance from the view plane

rh Low-pass filter radius

rk Reconstruction filter radius

EWA splat

u2 Distance to the view plane

Note that


Adaptive ewa filtering
Adaptive EWA Filtering

Warped recon-

struction kernel

Low-pass

filter

Resampling

filter

if u2 > A use low-pass filter

if A<u2< B use EWA filter

if u2< Buse reconstruction filter


Patch processing
Patch Processing

  • Process a 8 x 8 patch of voxels at a time

  • Filter selection based on four corners of each patch (choose smallest)

Traversal order

Patch

Distance


Adaptive ewa volume splatting 512x512x3
Adaptive EWA Volume Splatting (512x512x3)

Adaptive EWA filter: 6.88 fps EWA filter: 4.83 fps

Adaptive EWA filter: 1.84 fps EWA filter: 1.75 fps


Outline1
Outline

  • EWA volume splatting

  • Adaptive EWA splatting

  • GPU implementation

  • Results and conclusions


Object space ewa splatting
Object-Space EWA Splatting

Projection

Vertex shader computation

Texturemapping

Textured quad

  • Object-space EWA splatting with texture mapping [Ren et al. Eurographics 2002]

EWA Splat (elliptical Gaussian)

Texture (unit Gaussian)

(1,1)

(0,1)

(0,0)

(1,0)

Unit quad


Proxy geometry template
Proxy Geometry Template

.

.

.

  • Rectilinear volumes: use one proxy geometry template for all slices in each direction

  • Store vertex indices in AGP memory

Regularity

Voxel geometry

Quad

geometry

Proxy geometry

template


Vertex compression
Vertex Compression

  • Compress each vertex to 32 bits

  • Decompression on-the-fly in programmable hardware

  • To store vertex information of 256x256x256 volume in video memory

    • Without compression 2,048 MBytes 

    • With compression 12 MBytes 

  • Retained-mode hardware acceleration feasible


Retained vs immediate mode
Retained vs. Immediate Mode

Factor of ~10 improvement


Interactive classification opacity culling
Interactive Classification: Opacity Culling

  • Hardware-accelerated list-based traversal

  • For each slice

    • For each 32 x 32 patch of voxels (smaller indices)

      • Indices of proxy geometry organized into iso-value lists using bucket sort; CPU merges lists on-line

      • Render only iso-value lists with visible voxels

0

128

Patch

256


Interactive classification opacity culling1
Interactive Classification: Opacity Culling

Includes changes to TF every frame

Factor of ~10 improvement


Deferred shading
Deferred Shading

  • Volume texture access is only possible in fragment programs*

  • However, per fragment shading is expensive

  • Solution: deferred shading in two passes

    * Newer GPUs allow texture access in vertex programs


Deferred shading1
Deferred Shading

  • Pass one: 3D texture access, classification and illumination in vertex shader, render one pixel per voxel

  • Pass two: reuse the pixel data from the first pass to shade the 2D footprint

  • Performance gain: 5%-10% speedup

Pass one

Pass two

Final result


Experiments
Experiments

  • P4 2.4 GHz

  • ATI 9800 Pro with 256 MB RAM

  • Direct3D 9.0b with VS 2.0 and PS 2.0

Vertex shader instructions


Sheet buffer composition
Sheet-buffer Composition

0.80 fps 3.00 fps 3.45 fps

Axis-aligned traversal, addition in sheet buffers, then blending front-to-back


UNC Head: 208x256x225

#Rendered splats: 2,955,242

2.86 fps

8.5M splats / sec


Bonsai: 256x256x128

#Rendered splats: 274,866

7.53 fps

2M splats / sec


Engine: 256x256x110

#Rendered splats: 247,577

10.28 fps

2.5M splats / sec


Lobster: 301x324x56

#Rendered splats: 555,976

10.60 fps

5.9M splats / sec



Our contributions
Our Contributions

  • Adaptive EWA computation

  • Volume data compression

  • Retained-mode hardware acceleration

  • Interactive opacity culling

  • Deferred two-pass shading


Future work
Future Work

  • Image-aligned EWA volume splatting

  • Irregular volume splatting

  • Pointsprites in OpenGL

  • Floating point textures

  • Vertex texture for classification


Acknowledgements
Acknowledgements

  • Jessica Hodgins (CMU)

  • Markus Gross (ETH)

http://graphics.cs.cmu.edu/projects/adpewa/index.html