Modern laser range and optical scanners need rendering techniques that can handle millions of points with high resolution textures. In this project we developed a point rendering and texture filtering technique called surface splatting which directly renders opaque and transparent surfaces from point clouds without connectivity. It is based on a novel screen space formulation of the Elliptical Weighted Average (EWA) filter. We extend the texture resampling framework of Heckbert to irregularly spaced point samples. To render the points, we develop a surface splat primitive that implements the screen space EWA filter. Moreover, we show how to optimally sample image and procedural textures to irregular point data during pre-processing. We also compare the optimal algorithm with a more efficient view-independent EWA pre-filter. Surface splatting makes the benefits of EWA texture filtering available to point-based rendering. It provides high quality anisotropic texture filtering, hidden surface removal, edge anti-aliasing, and order-independent transparency.
Laser range and image-based scanning techniques have produced some of the most complex and visually stunning models to date. For example, Levoy and the Digital Michelangelo Project have acquired 3D models consisting of billions of samples. Because of their huge volume of data, these models are extremely challenging for post-processing or rendering algorithms. A commonly used approach is generating triangle meshes from the point data and using mesh reduction techniques to render them. However, some scanned meshes are too large to be rendered interactively, and some applications cannot tolerate the inherent loss in geometric accuracy and texture fidelity that comes from polygon reduction. Moreover, complex 3D objects are rendered with triangles that often are approximately the size of a pixel in conventional rendering pipelines. Rasterizing these tiny primitives leads to inefficient operation of triangle based rendering pipelines.
Instead of using triangles, we propose a novel point-based rendering algorithm called surface splatting, focusing on high quality texture filtering. We introduce a novel screen space formulation of the Elliptical Weighted Average (EWA) filter, the best anisotropic texture filtering algorithm for interactive systems. Extending the framework of Heckbert, we derive a screen space form of the EWA filter for irregularly spaced point samples. Our novel splat primitive provides superior image quality compared to previous splatting techniques. This makes surface splatting applicable to high-resolution laser range scans, terrain with high texture detail, or point-sampled geometric objects. A modified A-buffer provides hidden surface removal, edge anti-aliasing, and order-independent transparency at a modest increase in computation efforts.
The basis of our surface splatting method is a model for the representation of continuous texture functions on the surface of point-based graphics objects. Since the 3D points are usually positioned irregularly, we use a weighted sum of radially symmetric basis functions. With this model at hand, we look at the task of rendering point-based objects as a concatenation of warping, filtering, and sampling the continuous texture function.
We extend Heckbert's resampling theory to process point-based objects and develop a mathematical framework of the rendering procedure. We derive an alternative formulation of the EWA texture filter that we call screen space EWA leading to the surface splatting algorithm. As a unique feature, the novel EWA splat primitive used in surface splatting combines a basis function and a low-pass filter.
Moreover, a modified A-buffer provides hidden surface removal, edge-antialiasing and order-independent transparency. We also develop an optimization technique to acquire the texture functions, which can be regarded as a scattered data approximation problem. We distinguish between scanned objects with color per point and regular textures that are explicitly applied to point-sampled geometry.
We demonstrate surface splatting on several point-based objects. The number of points is given in parenthesis: a) Scan of a human head (430k), b) Textured scan of Michelangelo's David (800k), c) Helicopter (990k), d) Textured terrain (4780k). Click on the images below to view animations.
Animation e) visualizes the surface splats. We render only a subset of the points and scale the splats such that they do not overlap.
The texture quality of the surface splatting algorithm is equivalent to conventional source space EWA texture quality. In aninmation f), we compare screen space EWA and source space EWA on a high frequency texture with regular sampling pattern. Moreover, animation g) illustrates splatting with circular Gaussians, as proposed in previous techniques. This technique leads to overly blurred images in areas where the texture is magnified. Animation h) shows splatting with elliptical Gaussians that are determined using the normal direction of the surface. This amounts to omitting the band-limiting step of EWA, which causes aliasing artifacts in regions where the texture is minified. In contrast to these methods, screen space EWA provides a continuous transition between minification and magnification and renders high quality textures in both cases.
We demonstrate rendering of semi-transparent surfaces in Animation i).
We compare our optimized texture sampling method to view-independent EWA sampling in Animation k). Optimized texture sampling provides a much sharper representation of the original checkerboard texture.
The digital terrain data set is courtesy of the Bundesamt für Landestopographie, Bern, Switzerland. The head of Michelangelo's David is courtesy of The Digital Michelangelo Project, Stanford University.
The A-buffer, an Antialiased Hidden Surface Method