parallel view-dependent tessellation of catmull-clark subdivision surfaces anjul patney 1 mohamed s....
TRANSCRIPT
![Page 1: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/1.jpg)
Parallel View-Dependent Tessellation of Catmull-Clark
Subdivision SurfacesAnjul Patney1 Mohamed S. Ebeida2 John D.
Owens1
University of California, Davis 1
Carnegie Mellon University 2
![Page 2: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/2.jpg)
Smooth Surfaces in Interactive Graphics
Motivation
Resolution independent higher-order surfaces in real-time graphics
Challenges
• Fast GPU-friendly tessellation
• Fine-grained view-adaptivity
• Cracks and Pinholes
![Page 3: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/3.jpg)
Representing Smooth Surfaces
Polygonal Meshes• Lack View-Adaptivity
• Inefficient storage/transfer
Parametric Surfaces• Collections of smooth patches
• Hard to animate
Subdivision Surfaces• Widely popular, ease of modeling
• Flexible Animation
[Boubekeur and Schlick 2007]
![Page 4: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/4.jpg)
Subdivision Surfaces in real-time graphics
• CPU-based tessellation [Bolz and Schröder 2002]
• Frequent CPU-GPU data transfer
• Fixed maximum levels of subdivision
• Subdivision using graphics shaders [Shiu et al. 2005], [Bunnell 2005]
• Requires patching the input mesh
• Limited view-adaptivity
• Ray tracing of subdivision surfaces [Benthin et al. 2007]
• Requires patching the input mesh
• Coarse view-adaptivity
Existing Work
[Bolz and Schröder 2002]
[Bunnell 2005]
[Benthin et al. 2007]
![Page 5: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/5.jpg)
Existing Work
Programmable GPU Tessellation
• Bézier Patches [Patney and Owens 2008], [Eisenacher et al. 2009]
• Parametric surfaces
• Cracks and T-junctions
• CUDA Tessellation Framework [Schwarz and Stamminger 2009]
• Parametric surfaces only
[Eisenacher et al. 2009]
[Schwarz and Stamminger 2009]
![Page 6: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/6.jpg)
Existing Work
Hardware Tessellation
• DirectX 11 Dedicated Tessellation Units• Primarily parametric surfaces
• Approximate Catmull-Clark Surfaces [Loop and Schaefer 2008]
• Lost C1 continuity, require separate normals
• Inexact surfaces
[Loop and Schaefer 2008]
![Page 7: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/7.jpg)
This Paper: Contributions
A parallel approach to Catmull-Clark subdivision
• Highly parallel, GPU-friendly
• Simple, robust data management
• Dynamic view-dependence
• No cracks or T-junctions
![Page 8: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/8.jpg)
Review: Catmull-Clark Subdivision
• Given: An arbitrary base mesh M0
• Recursively refine to produce M1
• Fast convergence to a smooth surface
M0 M1 M2 M3
, M2, M3 …
![Page 9: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/9.jpg)
Face PointsEdge Points
Vertex Points
Subdivided Mesh
Refinement Procedure
Base Mesh
![Page 10: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/10.jpg)
Basic Approach
Subdivision Test
Adaptive Mesh Refinement
OpenGL
GPU
GenFP
Parallel
GenEP
Parallel
GenVP
Parallel
Intermediate mesh
Input mesh (coarse)
![Page 11: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/11.jpg)
Challenges
• Data structure choice• Maintaining mesh structure
• Efficiency on graphics hardware
• View-Dependence• Spatial (along the surface)
• Temporal (dynamic viewpoint)
• Cracks and T-junctions• Avoid visual artifacts
• Should not degrade performance
![Page 12: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/12.jpg)
Data Structure
• Mesh Representation Goals• Easily exposed parallelism
• Minimal communication
• Low storage overhead
• Straightforward rendering
• Problems with common Mesh Representations• Serialized pointer-accesses
• Variable-size elements
• Often cannot be rendered directly
![Page 13: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/13.jpg)
• Maintain three arrays• VertexBuffer, with vertex = {x, y, z, valence}
• FaceBuffer, with face = {v0, v1, v2, v3}
• EdgeBuffer, with edge = {v0, v1, f0, f1}
• Justification• Parallelism expressed at all three levels
• Fixed-size elements
• Straightforward rendering
• Low storage overhead
• Complexity of updates?
Face
Vertex
Vertex
Vertex
Vertex
Edge
Edge
Edge
Edge
Our Choice
![Page 14: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/14.jpg)
Data Structure UpdatesFace
v0, v1, v2, v3
Face-point
Edgev0, v1, f0,
f1
Edge-point
Vertexx, y, z,
val.
Vertex-point
• Scattered atomic add (face-point)• Scattered atomic add (edge midpoint)
Facev0, v1, v2,
v3
Face-point
Edgev0, v1, f0,
f1
Edge-point
Vertexx, y, z,
val.
Vertex-point
Facev0, v1, v2,
v3
Face-point
Edgev0, v1, f0,
f1
Edge-point
Vertexx, y, z,
val.
Vertex-point
+ +
![Page 15: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/15.jpg)
View Dependence
![Page 16: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/16.jpg)
Faces
Edges
Vertices
Subdivision Test
Parallel Prefix-Sum[Sengupta et al. 2007]
![Page 17: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/17.jpg)
Varying Subdivision Criteria
Screen-space extent
![Page 18: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/18.jpg)
Varying Subdivision Criteria
Surface Orientation
![Page 19: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/19.jpg)
Varying Subdivision Criteria
Curvature
![Page 20: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/20.jpg)
Varying Subdivision Criteria
Silhouette-enhancement
![Page 21: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/21.jpg)
Cracks
Uniform Refinement
Adaptive Refinement
Crack
![Page 22: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/22.jpg)
T-Junction
![Page 23: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/23.jpg)
T-Junctions
Multisampling disabled
![Page 24: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/24.jpg)
Crack-fix as a post-process
![Page 25: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/25.jpg)
Quad-only Refinement
Incrementally Resolving Cracks
2-Refinement Templates [Schneiders 96]
![Page 26: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/26.jpg)
Incrementally Resolving Cracks
“Active” Vertices
• Placed at alternating transition vertices
• Help choosing a subdivision template
![Page 27: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/27.jpg)
Incrementally Resolving Cracks
Tagging Active Vertices
• Initialized potential tags with the base mesh
• Convert to active at transition
• Apply templates
• Update potential tags
![Page 28: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/28.jpg)
Example
![Page 29: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/29.jpg)
Implementation
Hardware Platform
• NVIDIA GeForce GTX 280
Computing Architecture
• NVIDIA CUDA 2.2
Subdivision criterion used for results
• Screen-space extent
![Page 30: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/30.jpg)
Results
![Page 31: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/31.jpg)
Results
![Page 32: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/32.jpg)
Results – Performance Behavior
Linear with output
complexity
Performance approaches 2.5–3M
faces/sec
![Page 33: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/33.jpg)
• Parallel GPU tessellation of Catmull-Clark surfaces
• Robust data management for subdivision
• Dynamically view-dependent
• Fixing cracks in parallel
Summary
Support for mesh boundaries and textures
![Page 34: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/34.jpg)
Limitations
• Quad-only meshes• Bloats off-line storage and transfer
• Crack-fix affects the 1-ring neighborhood• Aggressive subdivision can help
• Rarely a problem in practice
• Memory access patterns• Several non-coalesced dependent
lookups
• Implementation limited by memory bandwidth
![Page 35: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/35.jpg)
Future Work
• Extension to alternate refinement schemes• Loop
• Doo-Sabin
• Efficient memory management• Programmable geometry caching
![Page 36: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/36.jpg)
Acknowledgments
Feedback and Suggestions
• Eric Lengyel
• Anonymous paper reviewers
Models
• Bay Raitt (Valve Software)
• Headus Inc.
Funding and Equipment
• NSF Award 0541448
• SciDAC Institute for Ultrascale Visualization
• NVIDIA
![Page 37: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/37.jpg)
Thanks!
![Page 38: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/38.jpg)
EXTRA SLIDES
![Page 39: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/39.jpg)
Breadth-first Vs Depth-first Subdivision• One thread for one face
• Limited parallelism
Initial number of faces = 6
Initial number of faces = 1450
![Page 40: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/40.jpg)
Calculating vertex normals
• Two methods
1. Averaged normals of adjacent facesa. Regular mean
b. Weighted mean
2. Subdivision shading
1A 1B 2
![Page 41: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/41.jpg)
Calculating vertex normals
1A 1B 2
![Page 42: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/42.jpg)
Frame time division
![Page 43: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/43.jpg)
Results – Performance Scaling
![Page 44: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/44.jpg)
Results – Performance Scaling
![Page 45: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/45.jpg)
Results – Performance Scaling
![Page 46: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/46.jpg)
Varying subdivision depth
![Page 47: Parallel View-Dependent Tessellation of Catmull-Clark Subdivision Surfaces Anjul Patney 1 Mohamed S. Ebeida 2 John D. Owens 1 University of California,](https://reader035.vdocuments.site/reader035/viewer/2022062407/56649d225503460f949f83f8/html5/thumbnails/47.jpg)
Need for silhouette enhancement