Object Space EWA Surface Splatting: A Hardware Accelerated Approach to High Quality Point Rendering...

22
Object Space EWA Surface Object Space EWA Surface Splatting: A Hardware Splatting: A Hardware Accelerated Approach to High Accelerated Approach to High Quality Point Rendering Quality Point Rendering Liu Ren Liu Ren Hanspeter Pfister Hanspeter Pfister Matthias Zwicker Matthias Zwicker CMU

Transcript of Object Space EWA Surface Splatting: A Hardware Accelerated Approach to High Quality Point Rendering...

Object Space EWA Surface Splatting: Object Space EWA Surface Splatting: A Hardware Accelerated Approach to A Hardware Accelerated Approach to

High Quality Point RenderingHigh Quality Point Rendering

Liu RenLiu Ren

Hanspeter PfisterHanspeter Pfister

Matthias ZwickerMatthias Zwicker

CMU

MotivationMotivation

Pure Hardware Accelerated + High Quality?

[Wolfman Geforce 4 demo]

Yes!

Point-based graphics needs high Point-based graphics needs high quality texture filteringquality texture filtering

High quality point rendering lacks High quality point rendering lacks hardware supporthardware support

GPU performance outpaces CPUGPU performance outpaces CPU

Related WorkRelated Work Software OnlySoftware Only Hardware Hardware

AcceleratedAccelerated

w/o texture w/o texture filteringfiltering

Point Sample Rendering Point Sample Rendering EURW 98EURW 98

QSplat Siggraph 00, QSplat Siggraph 00,

Point Set Surfaces IEEE Point Set Surfaces IEEE Vis 01, Vis 01,

Procedural Geometry Procedural Geometry EURW 01EURW 01

w/ texture w/ texture filteringfiltering

Surfels Siggraph 00, Surfels Siggraph 00, Surface Splatting Surface Splatting Siggraph 01, Efficient Siggraph 01, Efficient Surface Splatting Surface Splatting EURW 02EURW 02

Hardware-Oriented Point Hardware-Oriented Point Rendering EURW 02,Rendering EURW 02,

Object Space EWA Splatting EG 02

Point-based Surface RepresentationPoint-based Surface Representation

Surface Element (Surfel)

No connectivity No connectivity No texture maps, no normal No texture maps, no normal

maps, etcmaps, etc

x

z

y

2D reconstruction filter

surfel tangent plane

normal

Surfel Rendering: SplattingSurfel Rendering: Splatting

screen space object space

y

z

x

surfel reconstruction filter

warped reconstruction filter

y

x

warp

aliasing

Surfel Rendering: Screen Space EWA FilteringSurfel Rendering: Screen Space EWA Filtering

reconstruction filter

warpscreen space object space

screen space resampling filter

Elliptical Weighted Average (EWA) filtering

EWA Splat = low-pass filter warped reconstruction filter

Screen space EWA splatting not supported by graphics hardware.

warped reconstructionfilter

low-pass filter

reconstruction filter

Surfel Rendering: Object Space EWA FilteringSurfel Rendering: Object Space EWA Filtering

screen space object spacewarp

Tangent space resampling filter = warped low-pass filter reconstruction filter

View dependent filter

tangent spaceresampling filter

low-pass filter

warped low-pass filter

Hardware Accelerated Point-based RenderingHardware Accelerated Point-based Rendering

Tangent space resampling Tangent space resampling filtersfilters

EWA splats in frame bufferEWA splats in frame bufferTexture mappingTexture mapping

Warped surface Warped surface texture reconstructiontexture reconstruction

Additive alpha Additive alpha blendingblending

surfel tangent plane

Textured polygonsTextured polygons

normal

ChallengesChallenges

No holes, hidden surface No holes, hidden surface splats removalsplats removal

Lack of A-buffer supportLack of A-buffer support

?Correct visibility in hardware

View dependent View dependent

Texture or polygon not fixed Texture or polygon not fixed

EWA resampling filter?

Two Pass Algorithm Overview Two Pass Algorithm Overview

1. Visibility splatting1. Visibility splatting Disable frame buffer updatesDisable frame buffer updates Render opaque quad for each surfelRender opaque quad for each surfel Generate depth image with a small offsetGenerate depth image with a small offset

2. Resampling filter splatting2. Resampling filter splatting Disable Z-buffer updatesDisable Z-buffer updates Render textured polygons with additive alpha Render textured polygons with additive alpha

blendingblending

First Pass: Visibility Splatting SchemesFirst Pass: Visibility Splatting Schemes

z

surface

depth image

camera space

QSplat

z

surface

depth image

camera space

Object Space EWA

occlusion artifacts

Second Pass: Handle View Dependent EWA Second Pass: Handle View Dependent EWA Resampling filter Resampling filter

texture (unit gaussian)

surfel polygon with unknown geometry

(0,0) (1,0)

(0,1) (1,1)

matchtexture mapping

textured quad

elliptical gaussian (tangent space resampling filter)

vertex computation

tangent space quad with known geometry

Normalization IssuesNormalization Issues

without normalization

varying brightness

with normalization

no artifacts

Per-pixel normalization:Per-pixel normalization:

Read back data from frame bufferRead back data from frame buffer Post-processing schemePost-processing scheme Bad for hardware accelerationBad for hardware acceleration

Per-surfel normalization:Per-surfel normalization: Pre-compute the surfel Pre-compute the surfel

normalization weightnormalization weight Pre-processing scheme Pre-processing scheme Good for hardware acceleration Good for hardware acceleration

Demo: Checkerboard on Geforce 4 Ti 4600Demo: Checkerboard on Geforce 4 Ti 4600

Anisotropic Texture Filtering + Accuview /Triangle Mesh

Object Space EWA / Points

V.S.

Object Space EWA Filtering

Splatting No Filtering

V.S.

Demo: Surfel Models on ATI Radeon 9700Demo: Surfel Models on ATI Radeon 9700

103K Surfels

Salamander

Demo: Surfel Models on ATI Radeon 9700Demo: Surfel Models on ATI Radeon 9700

102K Surfels

Chameleon

Demo: Surfel Models on ATI Radeon 9700Demo: Surfel Models on ATI Radeon 9700

273K Surfels

Wasp

Demo: Surfel Models on ATI Radeon 9700Demo: Surfel Models on ATI Radeon 9700

352K Surfels

Fiesta

Performance with Phong ShadingPerformance with Phong Shading

DataData # Points # Points 512 by 512512 by 512 1024 by 1024 1024 by 1024 Geforce Geforce 4 Ti 46004 Ti 4600

Radeon Radeon 97009700

Geforce Geforce 4 Ti 46004 Ti 4600

Radeon Radeon 97009700

103K103K 21.1fps21.1fps 29.0 fps29.0 fps 14.7 fps14.7 fps 24.7 fps24.7 fps

102K102K 18.6 fps18.6 fps 23.7 fps23.7 fps 9.8 fps9.8 fps 20.6 fps20.6 fps

273K273K 5.2 fps5.2 fps 8.6 fps8.6 fps 3.7 fps3.7 fps 8.3 fps8.3 fps

352K352K 4.6 fps4.6 fps 13.6 fps 13.6 fps 3.6 fps3.6 fps 8.5 fps8.5 fps

ConclusionConclusion

New object space formulation of EWA New object space formulation of EWA surface splatting surface splatting

Completely hardware accelerated Completely hardware accelerated approach with negligible CPU approach with negligible CPU involvementinvolvement

Benefits from GPU performance Benefits from GPU performance improvementsimprovements

Future WorkFuture Work

Semitransparent point models Semitransparent point models

View dependent BRDF shading View dependent BRDF shading

Animated point modelsAnimated point models

Optimization with upcoming hardware Optimization with upcoming hardware featuresfeatures

AcknowledgmentsAcknowledgments

Jessica Hodgins, Paul Heckbert Jessica Hodgins, Paul Heckbert

Micheal Doggett, Evan Hart, Jeff Royle Micheal Doggett, Evan Hart, Jeff Royle

Henry Moreton Henry Moreton

Jennifer Pfister, Wei Li, Wei ChenJennifer Pfister, Wei Li, Wei Chen

Http://www.cs.cmu.edu/~liuren/research.htmHttp://www.cs.cmu.edu/~liuren/research.htm

CMU