45
Extensions to Progressive Meshes Ranjitha Kumar 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

  • Upload
    lethien

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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