Finite-resolution hidden surface removal

We propose a hybrid image-space/object-space solution to the classical hidden surface removal problem: Given n disjoint triangles in Real^3 and p sample points (``pixels'') in the xy-plane, determine the first triangle directly behind each pixel. Our algorithm constructs the sampled visibility map of the triangles with respect to the pixels, which is the subset of the trapezoids in a trapezoidal decomposition of the analytic visibility map that contain at least one pixel. The sampled visibility map adapts to local changes in image complexity, and its complexity is bounded both by the number of pixels and by the complexity of the analytic visibility map. Our algorithm runs in time O(n^{1+e} + n^{2/3+e}t^{2/3} + p), where t is the output size and e is any positive constant. This is nearly optimal in the worst case and compares favorably with the best output-sensitive algorithms for both ray casting and analytic hidden surface removal. In the special case where the pixels form a regular grid, a sweepline variant of our algorithm runs in time O(n^{1+e} + n^{2/3+e}t^{2/3} + t log p), which is usually sublinear in the number of pixels.

[1]  Jirí Matousek,et al.  Range searching with efficient hierarchical cuttings , 1992, SCG '92.

[2]  Ferenc Dévai,et al.  Quadratic bounds for hidden line elimination , 1986, SCG '86.

[3]  Gavin S. P. Miller,et al.  Hierarchical Z-buffer visibility , 1993, SIGGRAPH.

[4]  Micha Sharir,et al.  Efficient hidden surface removal for objects with small union size , 1991, SCG '91.

[5]  Peter R. Atherton,et al.  Hidden surface removal using polygon area sorting , 1977, SIGGRAPH.

[6]  Mark de Berg,et al.  Hidden Surface Removal for C-oriented Polyhedra , 1991, Comput. Geom..

[7]  Sariel Har-Peled,et al.  An output sensitive algorithm for discrete convex hulls , 1998, SCG '98.

[8]  Thomas Ertl,et al.  Computer Graphics - Principles and Practice, 3rd Edition , 2014 .

[9]  Jirí Matousek,et al.  Ray shooting and parametric search , 1992, STOC '92.

[10]  John Edward Warnock,et al.  A hidden surface algorithm for computer generated halftone pictures , 1969 .

[11]  Dinesh Manocha,et al.  Accelerated occlusion culling using shadow frusta , 1997, SCG '97.

[12]  Seth J. Teller,et al.  Real-time occlusion culling for models with large occluders , 1997, SI3D.

[13]  Mark H. Overmars,et al.  Spheres, molecules, and hidden surface removal , 1994, SCG '94.

[14]  M. Carter Computer graphics: Principles and practice , 1997 .

[15]  Andrew S. Glassner,et al.  Space subdivision for fast ray tracing , 1984, IEEE Computer Graphics and Applications.

[16]  Sidnie Dresher Feit A Fast Algorithm for the Two-Variable Integer Programming Problem , 1984, JACM.

[17]  T. M. Murali,et al.  Efficient Hidden-Surface Removal in Theory and Practice , 1999 .

[18]  Jon Louis Bentley,et al.  Multidimensional divide-and-conquer , 1980, CACM.

[19]  Seth Teller,et al.  Frustum Casting for Progressive, Interactive Rendering , 1998 .

[20]  Pat Hanrahan,et al.  Beam tracing polygonal objects , 1984, SIGGRAPH.

[21]  F. Frances Yao,et al.  Efficient binary space partitions for hidden-surface removal and solid modeling , 1990, Discret. Comput. Geom..

[22]  Micha Sharir,et al.  Efficient Hidden Surface Removal for Objects with Small Union Size , 1992, Comput. Geom..

[23]  Ravi Kannan,et al.  A Polynomial Algorithm for the Two-Variable Integer Programming Problem , 1980, JACM.

[24]  Daniel Cohen-Or,et al.  Conservative Visibility and Strong Occlusion for Viewspace Partitioning of Densely Occluded Scenes , 1998, Comput. Graph. Forum.

[25]  Micha Sharir,et al.  Applications of a New Space Partitioning Technique , 1991, WADS.

[26]  Edwin Earl Catmull,et al.  A subdivision algorithm for computer display of curved surfaces. , 1974 .

[27]  Mikhail J. Atallah,et al.  Output-Sensitive Methods for Rectilinear Hidden Surface Removal , 1993, Inf. Comput..

[28]  Warwick Harvey,et al.  Computing Two-Dimensional Integer Hulls , 1999, SIAM J. Comput..

[29]  Seth Teller,et al.  Visibility Computations in Densely Occluded Polyhedral Environments , 1992 .

[30]  Susan E. Dorward A survey of object-space hidden surface removal , 1994, Int. J. Comput. Geom. Appl..

[31]  David G. Kirkpatrick,et al.  Implicitly Searching Convolutions and Computing Depth of Collision , 1990, SIGAL International Symposium on Algorithms.

[32]  Claude Puech,et al.  Radiosity and global illumination , 1994 .

[33]  Ned Greene,et al.  Hierarchical polygon tiling with coverage masks , 1996, SIGGRAPH.

[34]  Boris Aronov,et al.  Average-case ray shooting and minimum weight triangulations , 1997, SCG '97.

[35]  Michael McKenna Worst-case optimal hidden-surface removal , 1987, TOGS.

[36]  Jim Ruppert,et al.  A Delaunay Refinement Algorithm for Quality 2-Dimensional Mesh Generation , 1995, J. Algorithms.

[37]  Hsuan-Shih Lee,et al.  Regular enumeration of grid points in a convex polygon , 1993, Int. J. Comput. Geom. Appl..

[38]  Marshall W. Bern,et al.  Hidden surface removal for rectangles , 1988, SCG '88.

[39]  H. S. Lee,et al.  Approximating Vertices of a Convex Polygon with Grid Points in the Polygon , 1992, ISAAC.

[40]  David P. Luebke,et al.  Portals and mirrors: simple, fast evaluation of potentially visible sets , 1995, I3D '95.

[41]  Tetsuo Asano,et al.  Efficient Enumeration of Grid Points in a Polygon and its Application to Integer Programming , 1994, Int. J. Comput. Geom. Appl..

[42]  Subhash Suri,et al.  A pedestrian approach to ray shooting: shoot a ray, take a walk , 1995, SODA '93.

[43]  Jirí Matousek Range searching with efficient hierarchical cuttings , 1992, SCG '92.

[44]  Jeff Erickson,et al.  New lower bounds for Hopcroft's problem , 1995, SCG '95.

[45]  John H. Reif,et al.  An efficient output-sensitive hidden surface removal algorithm and its parallelization , 1988, SCG '88.