Download presentation
Presentation is loading. Please wait.
Published byGriffin Gibson Modified over 9 years ago
2
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Rasterization Pipeline Rasterization Clipping
3
2 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Rasterization costs Per vertex –Lighting calculations –Perspective transformation –Slopes calculation Per pixel –Interpolations of z, c (and leading trailing edges, amortized) –Read, compare, right to update the z-buffer and frame buffer
4
3 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Acceleration techniques Reduce per pixel cost –Reduce resolution –Back-face culling Reduce per vertex cost –T-strips and fans –Frustum culling –Simplification –Texture map Reduce both –Occlusion culling
5
4 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Back-face culling Done in screen space by hardware Test sign of (x B -x A ) (y C -y A ) - (x C -x A ) (y B -y A ) A B C
6
5 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac T-strips and fans Reuse 2 vertices of last triangle fan strip Was important when hardware had only 3 registers Less important in modern graphics boards Saves nearly 2/3 of vertex processing A vertex is still processed twice on average
7
6 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Frustum culling Build a tight sphere around each object –Center it at C=((x max +x min )/2, (y max +y min )/2, (z max +z min )/2 ) –Compute radius r as min||CV|| for all vertices V Test the sphere against each half-space of the frustum –If N(EC)<-r then sphere is outside N E C
8
7 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Simplification Collapse edges N AB Collapse A to B if |N(AB)|<eOr use better error estimates
9
8 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Vertex clustering (Rossignac-Borrel) Subdivide box around object into grid of cells Coalesce vertices in each cell into one “attractor” Remove degenerate triangles –More than one vertex in a cell –Not needed for dangling edge or vertex
10
9 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Vertex clustering example
11
10 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Hausdorff distance between T-meshes Expensive to compute, –because it can occur away from vertices and edges! A B The point of B that is furthest away from A is closest to 3 points on A that are inside faces
12
11 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac What is the error produced by edge collapses? Volume of the solid bounded by old and new triangles –requires computing their intersection Exact Hausdorff distance between old and new triangles –expensive to compute precisely Distance between v and planes of all triangles incident on collapsed vertices –one dot product per plane (expensive, but guaranteed error bound) Quadratic distance between v and planes old triangles –evaluate one quadratic form representing all the planes (cheap but not a bound) –leads to closed form solution for computing the optimal V’ (in least square sense) Estimating edge-collapse error v’v
13
12 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Measuring Error with Quadrics (Garland) Given plane P, and point v, we can define a quadric distance Q(v) = D(v,P) 2 –P goes through point p and has normal N –D(v,P) = pv N –Q(p) = (pv N) 2, which is a quadratic polynomial in the coordinatges of v –If v=(x,y,z), Q(p)=a 11 x2+a 22 y2+a 33 z2+2a 23 yz+2a 13 xz+2a 12 xy+2b 1 x+2b 2 y+2b 3 z+c Q may be written represented by 3x3 matrix A,a vector b,and a scalar c Q(v) may be evaluated as v (Av)+2b v+c –or in matrix form as:
14
13 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Optimal position for v Pick v to minimize average distance to planes Q(v) –set dQ(v)/dv = 0, which yields: v = -A -1 b
15
14 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Q(v) measures flatness Isosurfaces of Q –Are ellipsoids –Stretch in flat direction –Have eigenvalues proportional to the principal curvatures
16
15 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Texture map Replace distant details with their images, pasted on simplified shapes or even no flat bill-boards
17
16 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Texture mapping textureMode(NORMALIZED); PImage maya = loadImage(maya.jpg"); beginShape(QUADS); texture(maya); vertex(-1, 1, 1, 1, 1); vertex( 1, 1, 1, 0, 1); vertex( 1, -1, 1, 0, 0 ); vertex(-1, -1, 1, 1, 0); … endShape();
18
17 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Occlusion culling Is ball containing an object hidden behind the triangle?
19
18 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Occlusion culling in urban walkthrough From Peter Wonka Need only display a few facades--the rest is hidden
20
19 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Shadows / visibility duality Point light source –Shadow (volume): set of points that do not see the light From-point visibility –Occluded space: set of points hidden from the viewpoint Area light source (assume flat for simplicity) –Umbra: set of points that do not see any light –Penumbra: set of points that see a portion of the light source –Clearing: set of points that see the entire light source From-cell visibility (cell C) –Hidden space: set of points hidden from all points in C –Detectable space: set of points seen from at least one point in C –Exposed space: set of points visible from all points in C
21
20 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac From-point visibility What is visible from a given viewpoint –Not from a given area Usually computed at run-time for each frame –Should be fast –Or done in background before the user starts looking around May be pre-computed for a set of important viewpoints –Can be slower –User will be invited to jump to these (street crossings) –Or to navigate along pre-computed paths (videos) May be useful for pre-computing from-cell visibility –Which identifies all objects B that are invisible when the viewpoint is in a cell A –The cell may be reduced to a trajectory (taxi metaphor)
22
21 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac From-point visibility Viewpoint/light = {a} (a single point) HIDDENDETECTEDCLEAR
23
22 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Zen break The moon is a perfect ball It is full and perfectly clear You see it through your window You wonder about the meaning of life You trace its outline on the glass Is is a circle? Can you prove it?
24
23 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Nothing is perfect In general, the outline of the moon is an ellipse Proof: –The pencil of rays from your eye to the moon is a cone –The intersection of that cone with the window if a conic –If the moon is clear and visible through the window: it is an ellipse –When the window is orthogonal to the axis of the cone: it is a circle
25
24 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Cherchez la lune The moon is a ball B(c,r) of center c and radius r The occluder is a triangle with vertices d, e, and f Assume viewer is at point a Write the geometric formulae for testing whether the moon is hidden behind the triangle HIDDENDETECTEDCLEAR de f c
26
25 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac When does a triangle appear clockwise? When do the vertices d, e, f, of a triangle appear clockwise when seen from a viewpoint a? clockwise de f counter-clockwise ed f
27
26 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac A triangle appears clockwise when The vertices d, e, f, of a triangle appear clockwise when seen from a viewpoint a when s(a,d,e,f) is true Procedure s(a,d,e,f) {RETURN ad(ae af)>0} –ad(ae af) is a 3x3 determinant –It is called the mixed product (or the triple product) clockwise de f counter-clockwise ed f a a
28
27 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Testing a point against a half-space? Consider the plane through points d, e, and f –It splits space in 2 half-spaces Consider the half-space H of all points that see d, e, f clockwise How to test whether point c is in H? clockwise de f c
29
28 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Testing a point against a half-space Consider the plane through points d, e, and f Consider the half-space H of all points that see d, e, f clockwise A point c is in H when s(c,d,e,f) s(c,d,e,f) {RETURN cd(ce cf)>0} clockwise de f c
30
29 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Is a point hidden by a triangle? Is point c hidden from viewpoint a by triangle (d, e, f)? –Write down all the geometric test you need to perform d e f a c
31
30 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Test whether a point is hidden by a triangle To test whether c is hidden from a by triangle d, e, f do –IF NOT s(a,d,e,f) THEN swap d and e –IF NOT s(a,d,e,c) THEN RETURN FALSE –IF NOT s(a,e,f,c) THEN RETURN FALSE –IF NOT s(a,f,d,c) THEN RETURN FALSE –IF s(c,d,e,f) THEN RETURN FALSE –RETURN TRUE Clockwise from a d e f a c
32
31 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Testing a ball against a half-space? Consider the half-space H of all points that see (d, e, f) clockwise When is a ball of center c and radius r in H? Clockwise from a d e f c
33
32 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Testing a ball against a half-space Consider the half-space H of all points that see (d, e, f) clockwise A ball of center c and radius r is in H when: ec (ed ef) > r ||ed ef|| Clockwise from a d e f c
34
33 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Is the moon hidden by a triangle? Is the ball of center c and radius r hidden from a by triangle with vertices d, e, and f? Clockwise from a d e f a c
35
34 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Is the moon hidden by a triangle? To test whether the ball of center c and radius r hidden from a by triangle with vertices d, e, and f do: –IF NOT s(a,d,e,f) THEN swap d and e –IF ac (ad ae) < r || ad ae || THEN RETURN FALSE –IF ac (ae af) < r || ae af || THEN RETURN FALSE –IF ac (af ad) < r || af ad || THEN RETURN FALSE –IF ec (ed ef) < r || ed ef || THEN RETURN FALSE –RETURN TRUE Explain what each line tests Are these test correct? Are they sufficient? Clockwise from a d e f a c
36
35 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Is the moon hiding a triangle? Triangle d, e, f is hidden from viewpoint a by a ball of center c and radius r when its 3 vertices are (hidden). –Proof? –How to test it? Hidden moon d f c Hidden triangle d f c e e
37
36 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac When is a planar set A convex? seg(p,q) is the line segment from p to q A is convex ( p A q A seg(p,q) A ) p q p q p q
38
37 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac What is the convex hull of a set A? The convex hull H(A) is the intersection of all convex sets that contain A.
39
38 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Is a convex occluder hiding a polyhedron? A polyhedron P is hidden by a convex occluder O if all of its vertices are –Proof? –Is a subdivision surface hidden if its control vertices are? We do not need to test all of the vertices –Only those of a container (minimax box, bounding ball, convex hull) Proof? –Only those on the silhouette of a convex container Proof? What if the occluder is not convex? –Can it still work?
40
39 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Strategies for non-convex occluders? What if O is not convex? –replace O by an interior ball Not easy to compute a (nearly) largest ball inside O The average of the vertices of O may be outside of O –replace O by an interior axis-aligned box Not easy to compute a largest box inside –replace O by a convex set it contains O may be too thin Andujar, Saona Navazo CAD, 32 (13), 2000
41
40 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac The Hoop principle The occluder does not have to be convex, provided that a portion of its surface appears convex to the viewer and that the object is behind it.
42
41 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Hoop from non-convex occluders Pick a candidate occluder S –large triangle mesh –close to the viewer Select a set D of triangles of S whose border C is a hoop: –single loop –that has a convex projection on the screen Build a shield O –on plane behind D –bounded by projection of C O is a convex occluder –anything hidden by O –is hidden by D –and hence by S –sure? O C D S
43
42 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac When does a 3D polyloop appear convex? Each pair of consecutive edges defines a linear half-space from where their common vertex appears convex. The portion of space from which a loop C of edges appears convex is the intersection of these half-spaces or of their complements.
44
43 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Two strategies for building hoops Grow a patch D on the surface S, or Grow a curve C on the boundary of interior octree cells –simplify it, ensuring that the simplified border lies inside the solid
45
44 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Testing against a hoop Given a hoop C, we can easily test whether the viewpoint or a whole cell sees it as convex. –Test whether the viewpoint (or whether all the vertices of the cell,) lie in the intersections of all half-spaces. But this is not sufficient if we want to construct a shield from it. –Why not? We must ensure that the shield O is behind the portion D of the original surface S that is bounded by C.
46
45 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Ensuring that O is behind D Store with the hoop the thickness (depth of projection of D on the normal to C) Compute normal using sum of cross-products Use it to place the shield O sufficiently behind the hoop C so that it does not intersect D C D n O C D n O
47
46 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Ensuring that D occludes O Store with the hoop the thickness (range of projection of D on the normal n to C) Ensure that the viewer is not in that range … or shoot a ray from viewer to O and check parity of hits with D C D n O C D n O
48
47 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Growing a hoop around the moon Find the first intersection, i, between ac and the mesh of S Consider the triangle (d, e, f) of S that contains i If the triangle hides the moon, we are done (return hidden) Otherwise grow it by adding neighboring triangles –Let C be the boundary of this patch D of triangles –Identify bad vertices of C that appear in front of the moon –Add triangles to make these vertices interior –Ensuring that C remains a simple loop –Stop when C has no bad vertices (return hidden) –or when you can’t grow (return not hidden) Test the surface patch D bounded by C –Count intersections with ac –If odd then return hidden Clockwise from a d e f a c
49
48 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Cell-to-cell visibility Now, let us look at the problem of pre-computing whether any portion of a cell A is visible from a viewpoint in cell B. Why? (Applications?)
50
49 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Notation and assumptions Two sets, A and B Two points a A, b B O is the occluder A, B, and O are disjoint ab is the line segment from a to b a–b O ab = , a sees b (ignore self-occlusion) a | b O ab ≠ , a is occluded from by O a b BA O a b BA O
51
50 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac (Jarek’s) Terminology and definitions? HIDDEN: H O (A,B) –B is entirely hidden from A by O –? DETECTED: D O (A,B) –B can be detected from any point of A –? GUARDED: G O (A,B) –B can be guarded from a single point of A –? CLEAR: C O (A,B) –B can be guarded from any point of A –? a b BA O B A B A O a b B A O O
52
51 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac HIDDEN: H O (A,B) –B is entirely hidden from A –H O (A,B) a, b: a | b DETECTED: D O (A,B) –B can be detected from any point of A –D O (A,B) a, b: a–b GUARDED: G O (A,B) –B can be guarded from some point of A –G O (A,B) a, b: a–b CLEAR: C O (A,B) –B can be guarded from any point of A –C O (A,B) a, b: a–b Definitions a b BA O B A O B A O a b B A O
53
52 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Properties (and proofs?) C O (A,B) C O (B,A) and H O (A,B) H O (B,A) C O (A,B) G O (A,B) and G O (B,A) G O (A,B) D O (B,A) proof ? a b BA O H O (A,B) a, b: a | b B A O D O (A,B) a, b: a–b B A O G O (A,B) a, b: a–b a b B A O C O (A,B) a, b: a–b
54
53 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Properties and proofs C O (A,B) C O (B,A) and H O (A,B) H O (B,A) C O (A,B) G O (A,B) and C O (A,B) G O (B,A) G O (A,B) D O (B,A) proof G O (A,B) a, b: a–b b, a: b–a D O (B,A) a b BA O H O (A,B) a, b: a | b B A O D O (A,B) a, b: a–b B A O G O (A,B) a, b: a–b a b B A O C O (A,B) a, b: a–b
55
54 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Counter-example? Draw O such that none of the 8 relations hold a b BA O H O (A,B) a, b: a | b B A O D O (A,B) a, b: a–b B A O G O (A,B) a, b: a–b a b B A O C O (A,B) a, b: a–b B A O? H O (A,B), G O (A,B), D O (A,B), C O (A,B), H O (B,A), G O (B,A), D O (B,A), C O (B,A) are all false
56
55 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Counter-example? Draw O such that none of the 8 relations hold a b BA O H O (A,B) a, b: a | b B A O D O (A,B) a, b: a–b B A O G O (A,B) a, b: a–b a b B A O C O (A,B) a, b: a–b H O (A,B), G O (A,B), D O (A,B), C O (A,B), H O (B,A), G O (B,A), D O (B,A), C O (B,A) are all false a b B A O
57
56 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Cell-to-cell visibility (C2CV) Viewpoint is in cell A Small objects in cell B need not be rendered if cell A is occluded from cell B by some surface S: H S (A,B)?
58
57 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Terminology Assume that surface S, cell A, and cell B are disjoint? R = convex hull of A B (contains all rays from A to B) T = tube (boundary of R not on A or B) C connected component of S T
59
58 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac The Occlusion Theorem The surface S occludes cell A from cell B, if and only if: 1. 1.There exists a connected component, C, of S T that is bounding a portion D of S and has no boundary in the interior of R. 2.Given an arbitrary (non-singular) ray, ab, from a A to b B, ab has an odd number of intersections with D C.
60
59 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Proof
61
60 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Various cases
62
61 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac ShieldTester for triangle meshes Obtain an edge e AB of T from a vertex of A to a vertex of B IF e AB S = THEN RETURN (“visible”) FOR EACH triangle x of S that is stabbed by e AB DO { Start a WALK that traces a connected component C of S T IF the WALK did not run into a boundary of S THEN { INVADE the portion of S to the left of the triangles crossed by the WALK along C IF the invaded portion has no hole THEN IF the number of triangles that were stabbed by e AB and visited by the WALK and the INVADE is odd THEN RETURN (“occluded”) } RETURN (“undecided”)
63
62 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Walking one step
64
63 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Turning left on S
65
64 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Invade process
66
65 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Hot edges
67
66 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Results
68
67 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Is the moon hidden by a tree? Can’t grow a patch of edge-connected triangles –Leaves/branches are small and disjoint Use approximate shadow fusion –Render tree(s) –Mark area of rendered pixels –Construct big rectangle inside it (how?) –Let M= max(z-buffer inside rectangle) –Push back rectangle to z=M –Use it as occluder for other objects (behind the tree) Accuracy depends on screen resolution –Can be improved by multiple passes (zoomed 1/4 of image each) Use bounding spheres around objects to test them –Conservative part –Use a hierarchy of bounding sphere (hierarchical z-buffer)
69
68 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Occluded volumes Assume that we have an area light source or a cell containing the viewpoint that is a polyhedron Assume that all occluders are polyhedra Can we compute the hidden volume (umbra)? Difficult because it is bounded by curved surfaces
70
69 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac What you must remember How to build a rasterizer How to accelerate it
71
70 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Examples of questions for exams When is it no-longer useful to simplify the model? What are the 7 acceleration techniques? Which ones reduce per-vertex cost? How much savings should you expect from each technique?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.