Download presentation
Published byIsabella Robinson Modified over 9 years ago
1
View-dependent Adaptive Tessellation of Spline Surfaces
Jatin Chhugani & Subodh Kumar Johns Hopkins University
2
Motivation Why use Splines? CAD/CAM , Entertainment Industry
Medical Visualization Examples Submarines Animation Characters Human body especially the heart and brain
3
Garden Model ( 38,646 patches)
4
Splines Non-Uniform Rational B-Spline (NURBS) Bezier patch (rational)
Degree m x n Domain space (u, v) [0,1] x [0,1] For 0 i m, 0 j n, Control points : pij Weights: wij
5
wijpij Bmi(u) Bnj (v) i=0 j=0
m n wijpij Bmi(u) Bnj (v) i=0 j=0 F(u,v) = wij Bmi(u) Bnj (v) where Bernstein function Bni (t) = t i (1- t)n-i
6
Rendering Splines Ray tracing Pixel level surface subdivision
J. Kajiya, T. Nishita et al., J. Whitted Pixel level surface subdivision E.Catmull, M. Shantz et al. Scan-line based J. Blinn, J. Lane et al., J. Whitted Polygonal Approximations Forward (static) Backward (dynamic)
7
Forward Technique Backward Technique View-dependent tessellation
Incremental triangulation Backward Technique Pre-tessellate patches densely Apply polygon simplification
8
Forward Technique Backward Technique Advantage
Allows arbitrary precision Disadvantage Significant computation overhead Backward Technique Advantage Low run-time computation Disadvantages Large storage requirement Upper limit on detail of the model
9
Our Approach Hybrid of backward and forward techniques
Pre-compute domain samples Select samples and triangulate dynamically Generate additional detail when necessary
10
Sampling the Domain Space
11
Domain Space Tessellation
Uniform Tessellation Adaptive Tessellation
12
Uniform Tessellation Domain Space
13
Uniform Tessellation Fast Over-tessellation Step size computation
Triangulation Over-tessellation Triangle Rendering Bottleneck
14
Adaptive Tessellation
Domain Space
15
Adaptive Tessellation
Generates triangles only where needed Inefficient Many ‘stopping test’ computations Triangulation algorithm not simple
16
Basic Idea Pre-sample adaptively to some precision At rendering time
Maintain samples in ‘order of importance’ More importance in the areas of high curvature At rendering time Select samples Triangulate If higher precision needed Perform uniform tessellation
17
Pre-Sampling Choose samples on each patch
18
Computationally Intractable
Questions: #1 For a predefined deviation (between the surface and its triangulation) threshold, what is the minimum number of points required on a patch for a given position and orientation of the patch? And where? Computationally Intractable
19
Questions: #2 Is there a correlation between these points as the viewing parameters change? Not Always.
20
Deviation = Δ0 Deviation = Δ1 (< Δ0)
Figure 1 Figure 2 No common points (except the end points)
21
Heuristic Given a triangulation of a surface that deviates by more than Δ, add samples at the points of highest deviation until the resulting deviation is less than Δ.
22
Pre-Processing Algorithm
23
Pre-Sampling 1 2 3 4 Domain Space
24
Pre-Sampling 1 2 Point A Point B 3 4
Point of maximum object space deviation for a triangle
25
Pre-Sampling 1 2 5 3 4 Domain Space
26
Pre-Sampling 1 2 C 5 D B A 3 4 Point of maximum object space deviation for a triangle
27
Pre-Sampling 1 2 5 6 3 4 Domain Space
28
What is stored ? Ordered set of (u,v) pairs Deviation in object space
by decreasing deviation Deviation in object space i.e., deviation after the sample is added 3-d Vertex optional
29
Rendering Time Algorithm
Given screen space deviation bounds
30
Scaling Factor for a patch
Scaling Factor for a vector at point P = Minimum ratio of the length of the vector to its projected length on the image plane. Q Ratio = Q P P Eye Image Plane
31
Scaling Factor for a patch
Pre-processing Partition space For each patch, use the partition containing it If too many partitions for a patch, subdivide patch Run-time (for each frame) Compute the scaling factor for each partition Scaling factor a patch is that of its partition
32
Runtime Algorithm Compute max allowable deviation (say c)
Let p = max deviation in current triangulation if (c > p) delete domain samples having deviation less than c update triangulation
33
Example P1 P2 P3 P4 P5 P6 P7 P8 UV Values 26 24 21 19 14 13 6 3
Deviation Here p = 3 Let c = 20 UV Values P1 P2 P3 P4 26 24 21 19 Deviation
34
Runtime Algorithm if (c < p)
add domain samples having deviation greater than c update triangulation if pre-computed set is exhausted Uniformly tessellate triangles having deviation greater than c
35
Adaptive + Uniform Tessellation
Pre-computed Samples Computed at run time to uniformly tessellate triangles having deviation greater than threshold
36
Potential Problem Cracks in the model
37
Crack
38
Different samples on adjacent boundary curves
Crack Boundary Curve v u If Extra time Samples on the boundary curve for left patch Samples on the boundary curve for the right patch Different samples on adjacent boundary curves
39
Crack Prevention Sample the boundary curves separately from the interior, to prevent cracks in adjacent patches. Modify the interior patch sampling by deleting points too close to the boundary.
40
Same samples on adjacent boundary curves
Crack Prevention Boundary Curve v u If Extra time Samples on the boundary curve for the two adjacent patches Same samples on adjacent boundary curves
41
Results Model details
42
Pre-sampling Performance
Results Pre-sampling Performance
43
Comparison for average number of triangles generated per frame
Results Comparison for average number of triangles generated per frame [20]: “Interactive display of large NURBS models” by S. Kumar, D. Manocha and A. Lastra
44
Run-time behavior of our algorithm
Results Run-time behavior of our algorithm
45
Conclusions Combines forward and backward techniques
Uses adaptive and uniform tessellation Low triangle count, small memory footprint Applicable to class of parametric surfaces Towards real-time spline surface rendering
46
Acknowledgements Shankar Krishnan Lifeng Wang UBC Modeling group
Alpha 1 Modeling system National Science Foundation
47
The End.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.