PowerPoint Template - Zhejiang University

Download Report

Transcript PowerPoint Template - Zhejiang University

CONSERVATIVE
VOXELIZATION
Long Zhang1, Wei Chen1, David
Ebert2, Qunsheng Peng1
1 State Key Lab of CAD&CG, Zhejiang
University, Hangzhou, China
2 School of Electrical and Computer
Engineering, Purdue University
CGI 2007 – Conservative Voxelization
Contents
Introduction & Previous Work
The Main Idea
Algorithm & Implementation
Experimental Results
Conclusions & Future Work
2 / 24
CGI 2007 – Conservative Voxelization
Contents
Introduction & Previous Work
The Main Idea
Algorithm & Implementation
Experimental Results
Conclusions & Future Work
3 / 24
CGI 2007 – Conservative Voxelization
Voxelization
Rasterization – 2D scan-conversion
rasterization
Geometry primitive
pixels
Voxelization – 3D scan-conversion
voxelization
Surface model
voxels
4 / 24
CGI 2007 – Conservative Voxelization
Applications
physicallybased
simulation
collision
detection
Voxelization
volumetric
modelling
virtual
medicine
haptic
rendering
3D spatial
analysis
5 / 24
CGI 2007 – Conservative Voxelization
Hardware-accelerated Voxelization
The basic idea
Use the rasterization
functionality (2D
scan-conversion) of
graphics hardware to
accelerate voxelization (3D scanconversion)
Major advantage
Efficient
6 / 24
CGI 2007 – Conservative Voxelization
What’s Conservative?
standard rasterization
conservative rasterization
7 / 24
CGI 2007 – Conservative Voxelization
Why Is It Important?
Example: collision detection with
standard rasterization
conservative rasterization
no collision
4 colliding pixels
detected
8 / 24
CGI 2007 – Conservative Voxelization
Contents
Introduction & Previous Work
The Main Idea
Algorithm & Implementation
Experimental Results
Conclusions & Future Work
9 / 24
CGI 2007 – Conservative Voxelization
The Main Idea
Illustration in 2D
Previous approaches
Conservative voxelization
Orthogonal
projection
The
viewing volume
A triangle to
The
beresulting
voxelized
voxels
Therasterization
viewing
plane
• Use the
depth
value
of the
pixel center
pixelsvoxel for
• Generate a single
each pixel
• Compute the depth range in
each pixel
• Generate multiple voxels for
each pixel
10 / 24
CGI 2007 – Conservative Voxelization
Contents
Introduction & Previous Work
The Main Idea
Algorithm & Implementation
Experimental Results
Conclusions & Future Work
11 / 24
CGI 2007 – Conservative Voxelization
Computing the Depth Range
Full covered pixels
Partially covered pixels
• Compute the pixel/triangle
intersection
• Compute the depth range
in the intersection region
12 / 24
CGI 2007 – Conservative Voxelization
The Pixel/Triangle Intersection
 A convex polygon
 The minimal/maximal depth value lies on one of its
vertices
• Compute the intersection of two
edges of the triangle and the pixel
• The depth value can be easily
calculated;
• Is the condition satisfied?
• The depth value is known;
• Is the condition satisfied? (easy
to know)
 The idea
 Compute the depth values at all vertices
 Compare the depth values to get the depth range
13 / 24
CGI 2007 – Conservative Voxelization
The Algorithm
 Compute the minimal depth for each pixel
Let
be the vertex of the
pixel with the minimal depth value
Yes
Text
=
Text
The computation is fast
If
is
inside the
triangle
No
Compute the barycentric coordinate
Text
None of the pixel vertices
has the
minimal depth
Text
• Compute the intersection
points of triangle/pixel edges
• Test if any triangle vertices
are in the pixel
The computation is slow
 Compute the maximal depth in the same way
14 / 24
CGI 2007 – Conservative Voxelization
Robustness Issues
Handling special cases
Intersection of
nearly parallel
lines
Replace QT with
QR
Degenerate
edges
Degenerate
triangles
Replace QR with
Pj
Replace v1 with
Q’L
The result is conservative
15 / 24
CGI 2007 – Conservative Voxelization
Contents
Introduction & Previous Work
The Main Idea
Algorithm & Implementation
Experimental Results
Conclusions & Future Work
16 / 24
CGI 2007 – Conservative Voxelization
Accuracy Analysis
Conservative
Voxelization
Theoretically
In practice
Accuracy:
Slightly overconservative:
• A voxel is generated if
and only if it intersects
with the input model
• All voxels intersecting
the input model are
generated
• A few voxels not
intersecting the input
model are also generated
17 / 24
CGI 2007 – Conservative Voxelization
Timing Statistics
• Efficient for high
resolution voxlization
• Not very efficient for
large model size
voxelization timings in ms.
Analysis
– the major cost lies
in computing the depth
range for each pixel
– the cost is much
lower for inner pixels
than for boundary
pixels
– most of the pixels
are inner pixels when
the resolution is high
Performance comparison between Dong’s and our method
18 / 24
CGI 2007 – Conservative Voxelization
Application to Collision Detection
 Basic idea
 Voxelize two models with a common bounding box
 Compare the resulting volumes
 Evaluation
 Accuracy
• High resolution supported
• Classfication – colliding voxels
represent potentially colliding regions, and noncolliding voxels represent non-colliding regions
 Efficiency
• Computation completely in GPU
• Need to traverse each
model once
• Support deforming models
Collision detection between the buddha
model and a morphing hand model.
The collision detection is accomplished
in approximately 114 ms.
19 / 24
CGI 2007 – Conservative Voxelization
Demo
20 / 24
CGI 2007 – Conservative Voxelization
Contents
Introduction & Previous Work
The Main Idea
Algorithm & Implementation
Experimental Results
Conclusions & Future Work
21 / 24
CGI 2007 – Conservative Voxelization
Conclusions
Technical contributions
1
The idea
We propose the idea
of conservative voxlization.
2
Algorithm
• Fully implemented
in the GPU
• Conservative
• Efficient
• Low memory consumption
• Suitable for deformable models
3
Application
We demonstrate the
application of our
algorithm in collision
detection of complex
models.
22 / 24
CGI 2007 – Conservative Voxelization
Future Work
More efficient algorithm
 Using lookup tables
 Need new functionalities of graphics hardware
More applications
Solid voxelization
23 / 24
[email protected]