Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810:...
Transcript of Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810:...
![Page 1: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/1.jpg)
Subdivision Surfaces
Connelly Barnes
CS 4810: Graphics
Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin
![Page 2: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/2.jpg)
Subdivision• How do you make a smooth curve?
Zorin & Schroeder SIGGRAPH 99 Course Notes
We want to “smooth out” severe angles
![Page 3: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/3.jpg)
Subdivision• How do you make a smooth curve?
Zorin & Schroeder SIGGRAPH 99 Course Notes
We want to “smooth out” severe angles
![Page 4: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/4.jpg)
Subdivision• How do you make a smooth curve?
Zorin & Schroeder SIGGRAPH 99 Course Notes
We want to “smooth out” severe angles
![Page 5: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/5.jpg)
Subdivision Surfaces• Coarse mesh & subdivision ruleoDefine smooth surface as limit of
sequence of refinements
Zorin & Schroeder SIGGRAPH 99 Course Notes
![Page 6: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/6.jpg)
Key Questions• How to subdivide the mesh?oAim for properties like smoothness
• How to store the mesh?oAim for efficiency of implementing subdivision rules
Zorin & Schroeder SIGGRAPH 99 Course Notes
![Page 7: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/7.jpg)
General Subdivision Scheme• How to subdivide the mesh?
Two parts:»Refinement:
–Add new vertices and connect (topological)»Smoothing:
–Move vertex positions (geometric)
![Page 8: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/8.jpg)
Loop Subdivision Scheme• How to subdivide the mesh?
Refinement:»Subdivide each triangle into 4 triangles by splitting each edge and connecting new vertices
Zorin & Schroeder SIGGRAPH 99 Course Notes
![Page 9: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/9.jpg)
Loop Subdivision Scheme
Zorin & Schroeder SIGGRAPH 99 Course Notes
Existing vertex being moved from one level to the next
• How to subdivide the mesh:RefinementSmoothing: »Existing Vertices: Choose new location as weighted average of original vertex and its neighbors
![Page 10: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/10.jpg)
Loop Subdivision Scheme• General rule for moving existing interior vertices:
Zorin & Schroeder SIGGRAPH 99 Course Notes
What about vertices that have more Or less than 6 neighboring faces?
new_position = (1-kβ)original_position + sum(β*each_original_vertex)
What about vertices that have more or less than 6 neighboring faces?
![Page 11: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/11.jpg)
Loop Subdivision Scheme• General rule for moving existing interior vertices:
Zorin & Schroeder SIGGRAPH 99 Course Notes
What about vertices that have more Or less than 6 neighboring faces?
new_position = (1-kβ)original_position + sum(β*each_original_vertex)
What about vertices that have more or less than 6 neighboring faces?
0≤ β ≤1/k:
• As β increases, the contribution from adjacent vertices plays a more important role.
![Page 12: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/12.jpg)
Where do existing vertices move?• How to choose β?oAnalyze properties of limit surfaceoInterested in continuity of surface and smoothnessoInvolves calculating eigenvalues of matrices
»Original Loop
»Warren
![Page 13: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/13.jpg)
Loop Subdivision Scheme• How to subdivide the mesh:
RefinementSmoothing:»Inserted Vertices: Choose location as weighted average of original vertices in local neighborhood
New vertex being inserted
Zorin & Schroeder SIGGRAPH 99 Course Notes
![Page 14: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/14.jpg)
Boundary Cases?• What about extraordinary vertices and boundary
edges?:oExisting vertex adjacent to a missing triangleoNew vertex bordered by only one triangle
Zorin & Schroeder SIGGRAPH 99 Course Notes
![Page 15: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/15.jpg)
Boundary Cases?• Rules for extraordinary vertices and boundaries:
Zorin & Schroeder SIGGRAPH 99 Course Notes
1/2 1/2 1/8 1/83/4
![Page 16: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/16.jpg)
Loop Subdivision Scheme
Pixar
![Page 17: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/17.jpg)
Loop Subdivision Scheme
PixarZorin & Schroeder SIGGRAPH 99 Course Notes
![Page 18: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/18.jpg)
Loop Subdivision Scheme
Geri’s Game, Pixar
![Page 19: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/19.jpg)
Subdivision Schemes• There are different subdivision schemesoDifferent methods for refining topology oDifferent rules for positioning vertices
»Interpolating versus approximating
Zorin & Schroeder, SIGGRAPH 99 , Course Notes
![Page 20: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/20.jpg)
Subdivision Schemes
Zorin & Schroeder SIGGRAPH 99 Course Notes
![Page 21: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/21.jpg)
21
![Page 22: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/22.jpg)
Key Questions• How to refine the mesh?oAim for properties like smoothness
• How to store the mesh?oAim for efficiency for implementing subdivision rules
Zorin & Schroeder SIGGRAPH 99 Course Notes
![Page 23: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/23.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 24: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/24.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 25: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/25.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 26: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/26.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 27: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/27.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 28: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/28.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 29: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/29.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 30: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/30.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 31: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/31.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 32: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/32.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
![Page 33: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/33.jpg)
Subdivision SmoothnessTo determine the smoothness of the subdivision:
• Repeatedly apply the subdivision scheme
• Look at the neighborhood in the limit.
…
Computing infinitely many iterations is computationally prohibitive!!!
![Page 34: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/34.jpg)
Subdivision Matrix• Compute the new positions/vertices as a linear
combination of previous ones.
p0
p1p6
p5
p4 p3
p2 p0’p5’
p4’ p3’
p2’
p1’p6’
![Page 35: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/35.jpg)
Subdivision Matrix• Compute the new positions/vertices as a linear
combination of previous ones.
p0
p1p6
p5
p4 p3
p2 p0’p5’
p4’ p3’
p2’
p1’p6’
Subdivision Matrix0
BBBBBBBB@
p00
p01
p02
p03
p04
p05
p06
1
CCCCCCCCA
=116
0
BBBBBBBB@
10 1 1 1 1 1 16 6 2 0 0 0 26 2 6 2 0 0 06 0 2 6 2 0 06 0 0 2 6 2 06 0 0 0 2 6 26 2 0 0 2 2 6
1
CCCCCCCCA
0
BBBBBBBB@
p0
p1
p2
p3
p4
p5
p6
1
CCCCCCCCA
![Page 36: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/36.jpg)
Subdivision Matrix• Compute the new positions/vertices as a linear
combination of previous ones.
• To find the limit position of p0, repeatedly apply the subdivision matrix.
0
BBBBBBBBBB@
p(n)0
p(n)1
p(n)2
p(n)3
p(n)4
p(n)5
p(n)6
1
CCCCCCCCCCA
=116
0
BBBBBBBB@
10 1 1 1 1 1 16 6 2 0 0 0 26 2 6 2 0 0 06 0 2 6 2 0 06 0 0 2 6 2 06 0 0 0 2 6 26 2 0 0 2 2 6
1
CCCCCCCCA
n 0
BBBBBBBB@
p0
p1
p2
p3
p4
p5
p6
1
CCCCCCCCA
![Page 37: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/37.jpg)
Subdivision Matrix• Compute the new positions/vertices as a linear
combination of previous ones.
• To find the limit position of p0, repeatedly apply the subdivision matrix.
0
BBBBBBBBBB@
p(n)0
p(n)1
p(n)2
p(n)3
p(n)4
p(n)5
p(n)6
1
CCCCCCCCCCA
=116
0
BBBBBBBB@
10 1 1 1 1 1 16 6 2 0 0 0 26 2 6 2 0 0 06 0 2 6 2 0 06 0 0 2 6 2 06 0 0 0 2 6 26 2 0 0 2 2 6
1
CCCCCCCCA
n 0
BBBBBBBB@
p0
p1
p2
p3
p4
p5
p6
1
CCCCCCCCA
If, after a change of basis we have M=A-1DA, where D is a diagonal matrix, then:
Mn=A-1DnA,
Since D is diagonal, raising D to the n-th power just amounts to raising each of the diagonal entries of D to the n-th power.
![Page 39: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/39.jpg)
Key Questions• How to refine the mesh?oAim for properties like smoothness
• How to store the mesh?oAim for efficiency for implementing subdivision rules
Zorin & Schroeder SIGGRAPH 99 Course Notes
![Page 40: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/40.jpg)
Polygon Meshes• Mesh RepresentationsoIndependent facesoVertex and face tablesoAdjacency listsoWinged-Edge
![Page 41: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/41.jpg)
Independent Faces• Each face lists vertex coordinates
![Page 42: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/42.jpg)
Independent Faces• Each face lists vertex coordinates
ûRedundant verticesûNo topology information
![Page 43: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/43.jpg)
Vertex and Face Tables• Each face lists vertex references
![Page 44: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/44.jpg)
Vertex and Face Tables• Each face lists vertex references
üShared vertices
![Page 45: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/45.jpg)
Vertex and Face Tables• Each face lists vertex references
üShared verticesûStill no topology information
![Page 46: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/46.jpg)
Adjacency Lists• Store all vertex, edge, and face adjacencies
![Page 47: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/47.jpg)
Adjacency Lists• Store all vertex, edge, and face adjacencies
üEfficient topology traversal
![Page 48: Subdivision Surfaces - Connelly Barnes€¦ · Subdivision Surfaces Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser,](https://reader034.fdocuments.us/reader034/viewer/2022042710/5f57008a78885f0b4b07bfc5/html5/thumbnails/48.jpg)
Adjacency Lists• Store all vertex, edge, and face adjacencies
üEfficient topology traversalûExtra storageûVariable size arrays