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