View-dependent Adaptive Tessellation of Spline Surfaces

Slides:



Advertisements
Similar presentations
Curves Jim Van Verth Essential Math for Games Animation Problem: want to replay stored set of transformations  Generated by.
Advertisements

IIIT Hyderabad Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad,
3D Graphics Rendering and Terrain Modeling
Extended Gaussian Images
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
Overview June 9- B-Spline Curves June 16- NURBS Curves June 30- B-Spline Surfaces.
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
Eurohaptics 2002 © Interactive Haptic Display of Deformable Surfaces Based on the Medial Axis Transform Jason J. Corso, Jatin Chhugani,
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Afrigraph 2004 Interactive Ray-Tracing of Free-Form Surfaces Carsten Benthin Ingo Wald Philipp Slusallek Computer Graphics Lab Saarland University, Germany.
Damon Rocco.  Tessellation: The filling of a plane with polygons such that there is no overlap or gap.  In computer graphics objects are rendered as.
1 Dr. Scott Schaefer Hidden Surfaces. 2/62 Hidden Surfaces.
Offset of curves. Alina Shaikhet (CS, Technion)
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces Vincent Scheib 1, Jörg Haber 2, Ming C. Lin 1, Hans-Peter Seidel.
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Modelling: Curves Week 11, Wed Mar 23
Parametric Surfaces January 16, 2003 Stephen Gordon.
COEN Computer Graphics I
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
Hidden Surface Removal
Parametric Curves & Surfaces
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Modeling. Topology Topology describes an object’s shape, number of spans, and degree. For polygon objects this includes vertex positions.
Curve Modeling Bézier Curves
Bresenham’s Algorithm. Line Drawing Reference: Edward Angel’s book: –6 th Ed. Sections 6.8 and 6.9 Assuming: –Clipped (to fall within the window) –2D.
Polygon Scan Conversion and Z-Buffering
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
A Survey on FFD Reporter: Gang Xu Mar 15, Overview Volumn-based FFD Surface-based FFD Curve-based FFD Point-based FFD Accurate FFD Future Work Outline.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
V. Space Curves Types of curves Explicit Implicit Parametric.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric surfaces.
Chapter VI Parametric Curves and Surfaces
Budget Sampling of Parametric Surface Patches Jatin Chhugani and Subodh Kumar Johns Hopkins University.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
GPH 338 Computer Animation Survey
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
PMR: Point to Mesh Rendering, A Feature-Based Approach Tamal K. Dey and James Hudson
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
1 Subdivision. 2 Subdivision for game Why? Large model require many memory for storage Need to dynamically tessellated during game play Make surface modeling.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
11/26/02(C) University of Wisconsin Last Time BSplines.
Parametric Curves CS 318 Interactive Computer Graphics John C. Hart.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Rendering Large Models (in real time)
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Lecture 13 of 42 Wednesday, 15 February 2006 William.
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
UNC Chapel Hill David A. O’Brien Automatic Simplification of Particle System Dynamics David O’Brien Susan Fisher Ming C. Lin Department of Computer Science.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
1 Interactive Volume Isosurface Rendering Using BT Volumes John Kloetzli Marc Olano Penny Rheingans UMBC.
CS5500 Computer Graphics May 11, 2006
Procedural Animation Lecture 3: Types of 3D models
ATCM 6317 Procedural Animation
Overview of Modeling 김성남.
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

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

Garden Model ( 38,646 patches)

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

  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

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)

Forward Technique Backward Technique View-dependent tessellation Incremental triangulation Backward Technique Pre-tessellate patches densely Apply polygon simplification

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

Our Approach Hybrid of backward and forward techniques Pre-compute domain samples Select samples and triangulate dynamically Generate additional detail when necessary

Sampling the Domain Space

Domain Space Tessellation Uniform Tessellation Adaptive Tessellation

Uniform Tessellation Domain Space

Uniform Tessellation Fast Over-tessellation Step size computation Triangulation Over-tessellation Triangle Rendering Bottleneck

Adaptive Tessellation Domain Space

Adaptive Tessellation Generates triangles only where needed Inefficient Many ‘stopping test’ computations Triangulation algorithm not simple

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

Pre-Sampling Choose samples on each patch

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

Questions: #2 Is there a correlation between these points as the viewing parameters change? Not Always.

Deviation = Δ0 Deviation = Δ1 (< Δ0) Figure 1 Figure 2 No common points (except the end points)

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

Pre-Processing Algorithm

Pre-Sampling 1 2 3 4 Domain Space

Pre-Sampling 1 2 Point A Point B 3 4 Point of maximum object space deviation for a triangle

Pre-Sampling 1 2 5 3 4 Domain Space

Pre-Sampling 1 2 C 5 D B A 3 4 Point of maximum object space deviation for a triangle

Pre-Sampling 1 2 5 6 3 4 Domain Space

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

Rendering Time Algorithm Given screen space deviation bounds

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

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

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

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

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

Adaptive + Uniform Tessellation Pre-computed Samples Computed at run time to uniformly tessellate triangles having deviation greater than threshold

Potential Problem Cracks in the model

Crack

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

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.

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

Results Model details

Pre-sampling Performance Results Pre-sampling Performance

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

Run-time behavior of our algorithm Results Run-time behavior of our algorithm

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

Acknowledgements Shankar Krishnan Lifeng Wang UBC Modeling group Alpha 1 Modeling system National Science Foundation

The End.