guided visibility sampling peter wonka, michael wimmer, kaichi zhou, stefan maierhofer, gerd hesina,...
Post on 20-Dec-2015
216 views
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
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
• 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
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?