hardware accelerated adaptive ewa volume splatting
Download
Skip this Video
Download Presentation
Hardware-Accelerated Adaptive EWA Volume Splatting

Loading in 2 Seconds...

play fullscreen
1 / 30

Hardware-Accelerated Adaptive EWA Volume Splatting - PowerPoint PPT Presentation


  • 249 Views
  • Uploaded 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 'Hardware-Accelerated Adaptive EWA Volume Splatting' - 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

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

slide23
UNC Head: 208x256x225

#Rendered splats: 2,955,242

2.86 fps

8.5M splats / sec

slide24
Bonsai: 256x256x128

#Rendered splats: 274,866

7.53 fps

2M splats / sec

slide25
Engine: 256x256x110

#Rendered splats: 247,577

10.28 fps

2.5M splats / sec

slide26
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