230 likes | 371 Views
Visibility in Point Clouds. Philip Dutré - Parag Tole Program of Computer Graphics Cornell University. Motivation. points as modeling and rendering primitives finding new ways to evaluate (and approximate) the visibility function. General Idea.
E N D
Visibility in Point Clouds Philip Dutré - Parag Tole Program of Computer Graphics Cornell University
Motivation • points as modeling and rendering primitives • finding new ways to evaluate (and approximate) the visibility function
General Idea • Sample original surfaces (polygons) to construct set of oriented points • Evaluate visibility between any two points in the scene using only this point cloud
eye General Idea • Use it for shading only, NOT for primary visibility visibility = 0 or 1?
General Idea • Exact visibility: 0 or 1 • Approximate visibility: numerical value between 0 and 1 • “confidence” that 2 points are mutually visible • use as numerical value in shading calculations
Generate oriented surface points Scene geometry Surface sampling Oriented points
Intersection heuristic • Find closest point x to query line pq • Approximate original surface by surface element Sx • position Sx : probability density dns(Sx) • Check whether Sx intersects pq
Intersection heuristic q Pq Px Sx y x Pp p
Intersection heuristic • Probability y belongs to Sx : • Visibility value:
Intersection heuristic • Use C closest points to query line pq
Use only ‘valid’ points x3 q x2 > threshold distance Pq x1 Pp p
Validation • Sx = square with length L • dns(Sx):
Validation • Use vis(pq) as probability to determine whether pq is visible • compare to exact visibility of pq
Validation • size of Sx doesn’t really matter • Power d indicates a stepping function? • true for this validation • not true for shading
Direct Illumination • use continuous value of vis(pq) reference - 97min. 10,000 points - 50m. 20,000 points - 59m.
Global Illumination • Bidirectional path tracing • Generate & store light paths • Rendering: generate eye path & connect to selected light paths • Use continuous visibility value with separate point cloud
Global Illumination reference - 37m. 20,000 points - 229m. 100,000 points - 334m.
Some trivial extensions • Use point cloud for primary visibility (reprojection) • Light paths + point cloud = same set • Separate clouds for each object (e.g. LDIs, points as modeling primitives) TR: http://www.graphics.cornell.edu/pubs/2000/DTG00.html
Open Questions • “Polygons are so 10 days ago, but points are hot!!!” • Is exact visibility always necessary? • Do we need the same model representations for display & shading?
Conclusion • TR: http://www.graphics.cornell.edu/pubs/ 2000/DTG00.html