1 / 47

View-dependent Adaptive Tessellation of Spline Surfaces

View-dependent Adaptive Tessellation of Spline Surfaces. Jatin Chhugani & Subodh Kumar Johns Hopkins University. Motivation. Why use Splines? CAD/CAM , Entertainment Industry Medical Visualization Examples Submarines Animation Characters Human body especially the heart and brain.

paul2
Download Presentation

View-dependent Adaptive Tessellation of Spline Surfaces

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. m n   wijpij Bmi(u) Bnj (v) i=0 j=0 F(u,v) = m n   wij Bmi(u) Bnj (v) i=0 j=0 where Bernstein function Bni (t) = t i (1- t)n-i

  6. Rendering Splines • Ray tracing • 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 • View-dependent tessellation • Incremental triangulation Backward Technique • Pre-tessellate patches densely • Apply polygon simplification

  8. Forward 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 • 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 • 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. 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 = Δ0Deviation = Δ1 (< Δ0) No common points (except the end points) Figure 1 Figure 2

  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 • 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. Boundary Curve Crack v u 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. Crack Prevention Boundary Curve v u Samples on the boundary curve for the two adjacent patches Same samples on adjacent boundary curves

  41. Results Model details

  42. Results Pre-sampling Performance

  43. 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. 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.

More Related