Visibility in Point Clouds
230 likes | 375 Vues
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.
Visibility in Point Clouds
E N D
Presentation Transcript
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