Object Space EWA Surface Splatting: A Hardware Accelerated Approach to High Quality Point Rendering
Abstract
Elliptical weighted average (EWA) surface splatting is a technique for high quality rendering of point-sampled 3D objects. EWA surface splatting renders water-tight surfaces of complex point models with high q uality, anisotropic texture filtering.
In this paper we introduce a new multi-pass approach to perform EWA surface splatting on modern PC graphics hardware, called object space EWA splatting. We derive an object space formulation of the EWA filter, which is amenable for acceleration by conventionaltriangle-based graphics hardware.
We describe how to implement theobject space EWA filter using a****two pass rendering algorithm. In the first rendering pass, visibility splatting is performed by shifting opaque surfel polygons backward along the viewing rays, while in the second rendering pass**view-dependent EWA prefiltering** is performed by deforming texture mapped surfel polygons. We use texture mapping and alpha blending to facilitate the splatting process.
We implement our algorithm using programmable vertex and pixel shaders, fully exploiting the capabilities of today’sgraphics processing units (GPUs). Our implementation renders up to 3 million points per second on recent PC graphics hardware, an order of magnitude more than a pure software implementation of screen space EWA surface splatting.
Figure
Figure 1

Defining a texture function on the surface of a point-based object.
Figure 2



Object space and screen space resampling filters.
a) Conversion between object space and screen space resampling filter.
b) Object space and screen space EWA resampling filters.
c) Checkerboard texture resampled using the EWA resampling filter.
Figure 3

Visibility splatting.
a) Opaque quad centered at surfel
.b) Depth image without holes in the Z-buffer.
Figure 4

Applying the depth offset
.
a) Translation along the camera space z-axis. b) Translation along viewing rays.
Figure 5

EWA splatting using textured polygons.
Note the dashed line means the shape of the surfel polygon can not be determined before rendering, but is view dependent.
Figure 6

Calculating the Jacobian
.
Figure 7

The object space EWA resampling filter.
a) A unit reconstruction kernel and the warped low-pass filter defined by
.
b) The resampling filter as a mapping from a unit circle to an ellipse.
Figure 8

Constructing a texture-mapped polygon that represents the object space EWA resampling filter.
Conclusions
This paper contains two main contributions.
First, we presented a new object space formulation of EWA surface splatting for irregular point samples.
Second , we developed a new multi-pass approach to efficiently implement this algorithm using vertex and pixel shaders of modern PC graphics hardware. We have also shown a** pre-processing method** for proper normalization of the EWA splats.
Besides increased performance, we believe there are other advantages of using GPUs for point-based rendering. While CPUs double in speed every two years, GPUs increased their performance by a factor of 11 in the last nine months. Undoubtedly, GPU performance will continue to increase faster than CPU speed in the near future. Due to their fixedfunction processing there is more room for parallelization. For example, the GPUs of the XBox and the GeForce 4 have two vertex shaders in hardware.
Because each surfel is processed independently , this will linearly increase the performance of our algorithm. Furthermore, the performance of a software implementation of EWA surface splatting drops with increased output resolution, an effect that is not nearly as serious for our hardware based implementation. Finally, using the GPU leaves the CPU free for other tasks, such as AI or sound processing in games.
Future work
We will further optimize our implementation and adapt it to upcoming new hardware features(such as improved vertex shader instructions and framebuffer normalization).
We plan to apply the lessons learned to propose improvements for existing GPUs and to design special-purpose hardware for EWA surface splatting.
We plan to extend our approach to support interactive rendering for semi-transparent point models and deal with issues like view-dependent shading.
We also envision to use our system to renderanimated objects. While we feel that this requires few changes to the core rendering pipeline, it is a challenging task to develop data structures that efficiently represent dynamic point clouds.
Besides, we also want to extend our method to volume data and facilitate interactive texture based EWA volume splatting.
