Presentation is loading. Please wait.

Presentation is loading. Please wait.

View-dependent Adaptive Tessellation of Spline Surfaces

Similar presentations


Presentation on theme: "View-dependent Adaptive Tessellation of Spline Surfaces"— Presentation transcript:

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.


Download ppt "View-dependent Adaptive Tessellation of Spline Surfaces"

Similar presentations


Ads by Google