extensions to progressive meshes - computer...
TRANSCRIPT
![Page 1: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/1.jpg)
Extensions to Progressive Meshes
Ranjitha Kumar
1
![Page 2: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/2.jpg)
Papers
✦ View-Dependent Refinement of Progressive MeshesHugues HoppeSIGGRAPH 1997
✦ Progressive Simplicial ComplexesJovan Popovic, Hugues HoppeSIGGRAPH 1997
2
![Page 3: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/3.jpg)
View-Dependent Refinement
✦ Motivation: regions of the mesh closer to the viewer should be more refined than the regions farther away.
✦ Contribution: real-time framework for selectively refining an arbitrary PM according to changing view parameters, using efficient refinement criteria
3
![Page 4: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/4.jpg)
PM Review✦ Edge collapse sequence:
✦ Vertex split sequence:
✦ PM representation:
4
![Page 5: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/5.jpg)
Modified Framework✦ Built upon an arbitrary PM with modified definitions of
vsplit (vertex split) and ecol (edge collapse)
5
![Page 6: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/6.jpg)
Vertex Hierarchy✦ A selectively refined mesh corresponds to a “vertex front”
through the hierarchy
6
![Page 7: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/7.jpg)
Preconditions✦ A vertex or face is active if it exists in the selectively refined
mesh.
7
![Page 8: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/8.jpg)
Implementation
8
![Page 9: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/9.jpg)
Refinement Criteria
9
![Page 10: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/10.jpg)
View Frustrum✦ Basic Idea: the surface outside of the view frustum should
be coarse.
✦ Compute bounding spheres for each vertex that encompasses all of its descendant vertices.
✦ Check if the bounding sphere lies completely outside the view frustum
✦ For a sphere of radius , centered at lies outside the frustum if
where each linear functional measures the signed Euclidean distance to a side of the frustum.
rv v = (vx, vy, vz)
aix + biy + ciz + di
10
![Page 11: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/11.jpg)
Hierarchical Method
vleaf v
✦ Step 1 ✦ Step 3✦ Step 2
vs
vt
vu
11
![Page 12: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/12.jpg)
Result
12
![Page 13: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/13.jpg)
Surface Orientation✦ Hierarchically compute for each vertex a cone about its
normal that bounds the normal space for its descendants.
13
![Page 14: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/14.jpg)
Results
14
![Page 15: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/15.jpg)
Screen-space Geometric Error
✦ Screen projected distance between approximate mesh and original mesh is everywhere less than a scree-space tolerance .
✦ Need a measure of deviation between surface regions.
!
15
![Page 16: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/16.jpg)
Hausdorff Distance
r
✦ approximate mesh neighborhood
✦ original mesh
16
![Page 17: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/17.jpg)
Deviation Space✦ most deviation is orthogonal to the surface
✦ uniform component required by curved surfaces
✦ deviation value now depends on viewing angle:
Dn̂(µ, !) = max(µ, !!n̂" "v!)
17
![Page 18: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/18.jpg)
Screen-space Geometric Error
✦ Residual error vectors:
✦ Determine the ratio:
✦ Find the smallest that bounds .
✦ Check to see if the screen space projection of exceeds ; if it does, refine.
E = {ei}
!v/µv = maxei!E(ei · n̂v)/maxei!E!ei " n̂v!
Dn̂v (!v, µv) E
Dn̂v (!v, µv)!
18
![Page 19: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/19.jpg)
Results
19
![Page 20: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/20.jpg)
Incremental Selective Refinement Algorithm
✦ Basic idea: traverse the list of active vertices before rendering each frame, and for each vertex, either leave it as is, split it, or collapse it.
20
![Page 21: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/21.jpg)
Time Complexity
✦ Worst Case:
✦ might be
O(|V a| + |V b|)Ma !M b Ma !M0 !M b
21
![Page 22: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/22.jpg)
Frame Rate Regulation ✦ Variability in frame rates caused by varying number of
active faces
✦ Maintain a constant number of active faces using a simple feedback mechanism that regulates the screen-space tolerance.
!t = !t!1(|Ft!1|/m)
22
![Page 23: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/23.jpg)
Results
23
![Page 24: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/24.jpg)
Amortization
24
![Page 25: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/25.jpg)
Results
25
![Page 26: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/26.jpg)
Results
26
![Page 27: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/27.jpg)
Results
27
![Page 28: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/28.jpg)
Progressive Simplicial Complexes✦ Motivation:
28
![Page 29: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/29.jpg)
Abstract Simplicial Complexes✦ Let K be an abstract simplicial complex.
✦ Non-empty subsets of each element in K are also guranteed to be in K.
✦ Given {j,k,l} in K, {j, k}, {k, l}, {j, l}, {j}, {k}, {l} also in K.
✦ The faces of a simplex s is the set of non-empty subsets of s.
29
![Page 30: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/30.jpg)
Abstract Simplicial Complexes
✦ A simplex containing exactly d+1 vertices has dimension d and is a d-simplex. (e.g. triangles are 2-simplices.)
✦ The star(s) is the set of simplices of which s is a face.
30
![Page 31: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/31.jpg)
Abstract Simplicial Complexes✦ The children of a d-simplex => (d-1)-simplices of s’s faces.
✦ The parents of a d-simplex => (d+1)-simplices of star(s).
✦ Simplex with no parents is principal simplex.
✦ Simplex with exactly one parent is a boundary simplex.
31
![Page 32: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/32.jpg)
PSC Representation
✦ A triangulated model as a tuple M=(K,V,D,A).
✦ K is represented as an incidence graph of the simplices
✦ To render the model, draw only the principal simplices of K.
32
![Page 33: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/33.jpg)
PSC Representation
✦ The discrete attributes (D) associate a material identifier with each simplex
✦ Material identifiers contain smoothing groups, so creases form between pairs of adjacent triangles in different groups.
crease
33
![Page 34: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/34.jpg)
PSC Representation✦ Area parameters (A) are associated with 0- and 1-
simplices.
✦ Points and edges rendered as either a sphere or cylinder, a 2D point or line, or not rendered at all depending on screen pixel radius.
34
![Page 35: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/35.jpg)
PSC Representation
35
![Page 36: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/36.jpg)
Level-of-Detail Sequence
✦ Determine a sequence of vunify transformations simplifying the original mesh down to a single vertex.
✦ Reversing the transformations, we arrive at the record of generalized vertex splits which constitutes a PSC.
✦ For better approximations of lower complexity meshes, sum of areas is kept constant within each manifold component during simplification.
36
![Page 37: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/37.jpg)
Vertex unification transformation
✦ takes an arbitrary pair of vertices , and merges them into a single vertex .
✦ References to in all simplices of K are replaced by references to .
vunify(ai, bi, midpi) : M i+1 !M i
{ai}
{ai}{bi}
{bi}{ai}
37
![Page 38: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/38.jpg)
Generalized Vertex Split
{ai} {ai} {ai} {ai} {ai}
{bi} {bi} {bi} {bi}
38
![Page 39: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/39.jpg)
PSC Construction
✦ Algorithm almost identical to the one in original PM paper.
✦ Minor changes to the cost function.
✦ Put candidates pairs in a priority queue, ordered by ascending cost.
✦ Each iteration, merge vertex pair at the front, update costs of the remaining.
39
![Page 40: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/40.jpg)
Candidate Vertex Pair Set
✦ A set of candidate vertex pairs is formed
✦ set includes the 1-simplices of K
✦ additional pairs that allow distinct connected compents of M to merge
✦ Use Delaunay triangulation to form these additional pairs
40
![Page 41: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/41.jpg)
Selecting Vertex Unifications
✦ Same as before:
✦ = measure of geometric accuracy
✦ calculated as the sum of the squared distances to M from a dense set of points sampled from the original model.
!Edist = Edist(M i)! Edist(M i+1)
Edist(M)
Edist(M)
41
![Page 42: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/42.jpg)
Selecting Vertex Unifications
✦ = measure of geometric accuracy of discontinuities
✦ “Sharp simplices”:
✦ boundary simplex (simplex with exactly 1 parent)
✦ parents with different material identifiers
✦ Minimization preserves geometry of material boundaries, creases, and triangulation boundaries.
Edisc(M)
42
![Page 43: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/43.jpg)
Selecting Vertex Unifications
✦ penalizes for surface stretching.
✦ penalizes surface folding to prevent model self-intersections.
E!area
Efold
43
![Page 44: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/44.jpg)
Results
44
![Page 45: Extensions to Progressive Meshes - Computer graphicsgraphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha1.pdfExtensions to Progressive Meshes Ranjitha Kumar 1. Papers View-Dependent](https://reader031.vdocument.in/reader031/viewer/2022030506/5ab477a67f8b9ab47e8bf4d1/html5/thumbnails/45.jpg)
Discussion
✦ What does the PSC representation really contribute ?
✦ There aren’t really any differences in the way the PMs and PSCs are created.
✦ PMs and PSCs have the same properties.
✦ The only thing different now is that we are treating a collection of objects as one object.
✦ Can’t we do that by allowing disconnected vertices to merge?
45