analytic visibility on the gpu

Post on 24-Feb-2016

54 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Analytic Visibility on the GPU. Thomas Auzinger 1 , Michael Wimmer 1 and Stefan Jeschke 2. 1 Institute of Computer Graphics and Algorithms Vienna University of Technology. 2 Computer Graphics Group IST Austria. Motivation. Rasterization. *. Area sample. Raster grid. Center sample. - PowerPoint PPT Presentation

TRANSCRIPT

Analytic Visibility on the GPUThomas Auzinger1, Michael Wimmer1

and Stefan Jeschke2

1 Institute of Computer Graphicsand Algorithms

Vienna University of Technology

2 Computer Graphics Group

IST Austria

Motivation

Rasterization

Thomas Auzinger et al. 2

Vector inputRaster grid Rastered output

*

Center sampleArea sample Higher quality output

Motivation

Sampling artifacts

Thomas Auzinger et al. 3

Zone plate inputAliasing artifacts1 sample per pixel4 samples per pixel16 samples per pixel256 samples per pixelAnalytic samplingGround truth

Motivation

Analytic visibility

Thomas Auzinger et al. 4

1 sample per pixelAnalytic rasterization

Traditional Analytic

Overview

Thomas Auzinger et al. 5

Vector

Raster

Vertex Geometry

Tessellation

Visibility

Discretization(Rasterizer)

ShadingAnti-aliasing

Output

Input

Visibility

ShadingAnti-aliasing

Discretization(Integrator)

Output

Vertex Geometry

Tessellation

Input

ShadingAnti-aliasing

Related Work – Analytic Filtering

Manson & Schaefer (EG 2010)Wavelet Rasterization

Auzinger et al. (EG 2012)Analytic Anti-Aliasing

Manson & Schaefer (EG 2013)Analytic Rasterization of Curves with

Polynomial Filters

Thomas Auzinger et al. 6

Traditional Analytic

Overview

Thomas Auzinger et al. 7

Vector

Raster

Vertex Geometry

Tessellation

Visibility

Discretization(Rasterizer)

ShadingAnti-aliasing

Output

Input

Visibility

ShadingAnti-aliasing

Discretization(Integrator)

Output

Vertex Geometry

Tessellation

Input

Visibility

Related Work - Visibility

Computer graphics loreAppel (1967) Quantitative invisibilityCatmull (1984) Analytic visible surface algorithm

Computational geometryDévai (2011) Optimal hidden surface algorithm

Thomas Auzinger et al. 8

Traditional Analytic

Overview

Thomas Auzinger et al. 9

Vector

Raster

Vertex Geometry

Tessellation

Visibility

Discretization(Rasterizer)

ShadingAnti-aliasing

Output

Input

Visibility

ShadingAnti-aliasing

Discretization(Integrator)

Output

Vertex Geometry

Tessellation

Input

Discretization(Integrator)

Analytic Filtering

Sampling

Thomas Auzinger et al. 10

Analytic Filtering

Sampling

Analytic

Thomas Auzinger et al. 11

Analytic Filtering

Sampling

Analytic

Thomas Auzinger et al. 12

Analytic Filtering

Visible edges not enough boundary completionTriangle integration order irrelevantEdge integration order irrelevant

Thomas Auzinger et al. 13

InputList of trianglesConsistently orientedNon-intersecting

OutputUnordered set of all boundariesof the visible regions of all triangles

Visibility Stage

Thomas Auzinger et al. 14

Visibility

ShadingAnti-aliasing

Discretization(Integrator)

Output

Vertex Geometry

Tessellation

Input

Visibility

IntersectionEdge intersections betweentrianglesHidden line eliminationVisible edge segmentsBoundary completionMissing boundary segments

Pipeline - Visibility

Thomas Auzinger et al. 15

Visibility

ShadingAnti-Aliasing

Discretization(Integrator)

Output

Input

Intersection

Hidden lineelimination

Boundary completion

Vertex

Visibility

Per edge computations (one SIMD per edge)Add endpointsAdd intersections with other triangles(one triangle per thread)

Intersection

Thomas Auzinger et al. 16

Add edge indexAdd parameter along edge

Intersection

Thomas Auzinger et al. 17

0 00 0

-0.3 0.0 0.4 1.0

In parallel for all edgesUnordered output global sort performed

Intersection

Thomas Auzinger et al. 18

Take endpoints and occluding intersections

Hidden Line Elimination

Thomas Auzinger et al. 19

✘✘

Take endpoints and occluding intersections

Hidden Line Elimination

Thomas Auzinger et al. 20

Take endpoints and occluding intersectionsAssign occlusion flag

Hidden Line Elimination

Thomas Auzinger et al. 21

flag 1 -1 -1 1

Take endpoints and occluding intersectionsAssign occlusion flagPerform scan along edge

Hidden Line Elimination

Thomas Auzinger et al. 22

flag 1 -1 -1 1scan 1 0 -1 0

Report visible edge segments

Hidden Line Elimination

Thomas Auzinger et al. 23

flag 1 -1 -1 1scan 1 0 -1 0visible ✘ ✘ ✔ ✔

Report visible edge segments

Hidden Line Elimination

Thomas Auzinger et al. 24

flag 1 -1 -1 1scan 1 0 -1 0visible ✘ ✘ ✔ ✔

Perform over all edges in parallelAll hidden edges eliminatedBoundaries not complete

Hidden Line Elimination

Thomas Auzinger et al. 25

Take endpoints and occluded intersectionsReport upper-most occluded line segments

Boundary Completion

Thomas Auzinger et al. 26

Take endpoints and occluded intersectionsReport upper-most occluded line segmentsBoundaries complete

Boundary Completion

Thomas Auzinger et al. 27

InputList of trianglesConsistently orientedNon-intersecting

OutputUnordered set of all boundariesof the visible regions of all triangles

Visibility Stage

Thomas Auzinger et al. 28

Visibility

ShadingAnti-aliasing

Discretization(Integrator)

Output

Vertex Geometry

Tessellation

Input

Visibility

In parallel for all sample locations and for all reported line segments:Analytic convolution of triangle data with filter

Integration

Thomas Auzinger et al. 29

Result - Spikes

Thomas Auzinger et al. 30

See video

Timings

Bunny model at different LoDsImplementation in CUDAOutput resolution: 1024²GPU: Nvidia GTX 680Timings in milliseconds

Thomas Auzinger et al. 31

# triangles intersection hidden line elimination

boundary completion

visibility integration

7k 9.9 0.8 1.6 25 9.126k 26 1.6 4.2 50 2170k 77 3.4 11 121 51

Result - Zoneplates

Thomas Auzinger et al. 32

See video

Future work

Analytic visibility:Adaptive binning / queuingExact geometric computationsGeneral input (quads, curved surfaces)

General applications:Ground truth solutionAnalytic shadow mapsRender to vector graphicsAnalytic depth peeling

Thomas Auzinger et al. 33

Polygonal approximation Exact circlesManson & Schaefer, EG 2013

Fin

Thank you for your attention

Thomas Auzinger et al. 34

top related