Guided Visibility Sampling Peter Wonka, Michael Wimmer, Kaichi Zhou, Stefan Maierhofer, Gerd Hesina, Alexander Reshetov.

Post on 20-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Guided Visibility SamplingGuided Visibility Sampling

Peter Wonka, Michael Wimmer, Kaichi Zhou, Stefan Maierhofer,

Gerd Hesina, Alexander Reshetov

Peter Wonka, Michael Wimmer, Kaichi Zhou, Stefan Maierhofer,

Gerd Hesina, Alexander Reshetov

Problem StatementProblem Statement

• Input: Triangulated Model, Region• Output: Triangles visible from input

region

• Input: Triangulated Model, Region• Output: Triangles visible from input

region

Input Region

Model

Visible

Invisible

QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.

Practical ApplicationPractical Application

• Preprocessing Stage• Locate all possible viewing cells• For each cell, compute potentially visible set

• Rendering Stage• Identify current viewing cell• Only render visible set of triangles

• Preprocessing Stage• Locate all possible viewing cells• For each cell, compute potentially visible set

• Rendering Stage• Identify current viewing cell• Only render visible set of triangles

Impetus for SamplingImpetus for Sampling

• Pros• Quick• Simple• No overestimation• Progressive

• Cons• Incorrect when undersampling

• Pros• Quick• Simple• No overestimation• Progressive

• Cons• Incorrect when undersampling

Naïve SamplingNaïve Sampling

Camera Plane

Object Plane n x n

n x n

x

=n4

Guided Visibility Sampling: Can they beat

random?

Guided Visibility Sampling: Can they beat

random?

Guided Visibility Sampling

Guided Visibility Sampling

Uniform RandomSampling

Uniform RandomSampling

ErrorsOver-sampling

Guided Visibility Sampling Algorithm

Guided Visibility Sampling Algorithm

• Step 1: Pick Random Rays• Step 1: Pick Random Rays

Camera Plane

Object Plane

Guided Visibility Sampling Algorithm

Guided Visibility Sampling Algorithm

• Step 1: Pick Random Rays• Step 1: Pick Random Rays

Camera Plane

Object Plane

Guided Visibility Sampling Algorithm

Guided Visibility Sampling Algorithm

• Step 1: Pick Random Rays• Step 1: Pick Random Rays

Camera Plane

Object Plane• Step 2: Place all “hit” triangles in a

queue• Step 2: Place all “hit” triangles in a

queue

Guided Visibility Sampling Algorithm

Guided Visibility Sampling Algorithm

• Adaptive Border Sampling• “Guide” rays that hit new triangles

• perturb endpoint to locate neighbor triangles

• Repeat for all new triangles discovered this way

• Adaptive Border Sampling• “Guide” rays that hit new triangles

• perturb endpoint to locate neighbor triangles

• Repeat for all new triangles discovered this way

Guided Visibility Sampling Algorithm

Guided Visibility Sampling Algorithm

• Reverse Sampling• “Explore” triangles that are not adjacent

• perturb ray start point to fill gaps in

• Repeat for all new triangles discovered this way

• Reverse Sampling• “Explore” triangles that are not adjacent

• perturb ray start point to fill gaps in

• Repeat for all new triangles discovered this way

Front ViewFront View Top ViewTop View

QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.

Adaptive Border Sampling

Adaptive Border Sampling

• Subdivision• Subdivision

Adaptive Border Sampling

Adaptive Border Sampling

• Enlarging Triangles• Grow Triangle: numerical problems

• Sollution:• Ennaegon• 9-sided

• Computed in Ray Space to benefit edge-on triangles

• Enlarging Triangles• Grow Triangle: numerical problems

• Sollution:• Ennaegon• 9-sided

• Computed in Ray Space to benefit edge-on triangles

Adaptive Border Sampling

Adaptive Border Sampling

• Compute Ennaegon in ray space to deal with edge-on triangles

Top View: Top View:

• Compute Ennaegon in ray space to deal with edge-on triangles

Top View: Top View:

QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.

System OverviewSystem Overview

ray hits old triangle

ray hits old triangle

Newtriangle

Newtriangle

No more trianglesNo more triangles

recursiverecursive

gapdetectgapdetect

reversed ray within view cell

reversed ray within view cell

ResultsResults

ConclusionsConclusions

• Sampling vs Exact/Conservative• Contributions

• “Large” models• No restriction on input scene• Few image errors

• Problems• Ray tracing w/o locality• Ray tracing precision• No error bounds

• Sampling vs Exact/Conservative• Contributions

• “Large” models• No restriction on input scene• Few image errors

• Problems• Ray tracing w/o locality• Ray tracing precision• No error bounds

NotesNotes

• “Large” models are tiny• In core algorithm

• Deals poorly with T-junctions• Too many “tweakables”• Max vs Ave error

• Could result in temporal aliasing?

• “Large” models are tiny• In core algorithm

• Deals poorly with T-junctions• Too many “tweakables”• Max vs Ave error

• Could result in temporal aliasing?

top related