Interpolation is fundamental in many applications that are based on multidimensional scalar or vector fields. In such applications, it is possible to sample points from the field, for example, through the numerical solution of some mathematical model. Because point sampling may be computationally intensive, it is desirable to store samples in a data structure and estimate the values of the field at intermediate points through interpolation. We present methods based on building dynamic spatial data structures in which the samples are computed on-demand, and adaptive strategies are used to avoid oversampling.
We first show how to apply this approach to accelerate realistic rendering through ray-tracing. Ray-tracing can be formulated as a sampling and reconstruction problem, where rays in 3-space are modeled as points in a 4-dimensional parameter space. Sample rays are associated with various geometric attributes, which are then used in rendering. We collect and store a relatively sparse set of sampled rays, and use inexpensive interpolation methods to approximate the attribute values for other rays. We present two data structures: (1) the ray interpolant tree (RI-tree), which is based on a kd-tree-like sub-division of space, and (2) the simplex decomposition tree (SD-tree), which is based on a hierarchical regular simplicial mesh, and improves the functionality of the RI-tree by guaranteeing continuity.
For compact storage as well as efficient neighbor computation in the mesh, we present a pointerless representation of the SD-tree. An essential element of this approach is the development of a location code that enables efficient access and navigation of the data structure. For this purpose we introduce a location code, called an LPT code, that uniquely encodes the geometry of each simplex of the hierarchy. We present rules to compute the neighbors of a given simplex efficiently through the use of this code. We show how to traverse the associated tree and how to answer point location and interpolation queries. Our algorithms work in arbitrary dimensions. We also demonstrate the use of the SD-tree for rendering atmospheric effects. We present empirical evidence that our methods can produce renderings of good quality significantly faster than simple ray-tracing.
[1]
Matthias Zwicker,et al.
Surfels: surface elements as rendering primitives
,
2000,
SIGGRAPH.
[2]
R. Pajarola.
Overview of Quadtree-based Terrain Triangulation and Visualization
,
2002
.
[3]
Marc Levoy,et al.
The Use of Points as a Display Primitive
,
2000
.
[4]
Thomas Gerstner.
Multiresolution Visualization and Compression of Global Topographic Data
,
2001
.
[5]
Peter-Pike J. Sloan,et al.
Time critical lumigraph rendering
,
1997,
SI3D.
[6]
Kavita Bala,et al.
Radiance interpolants for interactive scene editing and ray tracing
,
1999
.
[7]
R. Sibson,et al.
A brief description of natural neighbor interpolation
,
1981
.
[8]
M. Ohta,et al.
Ray coherence theorem and constant time ray tracing algorithm
,
1987
.
[9]
L. Kobbelt,et al.
A Survey on Data Structures for Level-of-Detail Models
,
2005,
Advances in Multiresolution for Geometric Modelling.
[10]
U. Behrens,et al.
Adding shadows to a texture-based volume renderer
,
1998,
IEEE Symposium on Volume Visualization (Cat. No.989EX300).
[11]
David M. Mount,et al.
Pointerless Implementation of Hierarchical Simplicial Meshes and Efficient Neighbor Finding in Arbitrary Dimensions
,
2007,
Int. J. Comput. Geom. Appl..
[12]
Ronald Fedkiw,et al.
Visual simulation of smoke
,
2001,
SIGGRAPH.
[13]
David M. Mount,et al.
Ray Interpolants for Fast Ray-Tracing Reflections and Refractions
,
2002,
WSCG.
[14]
David G. Kirkpatrick,et al.
Right-Triangulated Irregular Networks
,
2001,
Algorithmica.
[15]
Henrik Wann Jensen,et al.
Ray Tracing Point Sampled Geometry
,
2000,
Rendering Techniques.
[16]
David P. Luebke,et al.
Portals and mirrors: simple, fast evaluation of potentially visible sets
,
1995,
I3D '95.
[17]
R. Skeel,et al.
Unified Multilevel Adaptive Finite Element Methods for Elliptic Problems
,
1988
.