Eurographics Symposium on Point-Based Graphics (2004) M. Alexa, S. Rusinkiewicz, (Editors) Boolean Operations on Surfel-Bounded Solids Using Programmable Graphics Hardware Bart Adams Philip Dutré Department of Computer Science Katholieke Universiteit Leuven Abstract In this paper we present an algorithm to compute boolean operations on free-form solids bounded by surfels using programmable graphics hardware. The intersection, union and difference of two or more solids, is calculated on the GPU using vertex and fragment programs. First, we construct an inside-outside partitioning using 3-color grids and signed distance fields. Next, we use this partitioning to classify the surfels of both solids as inside or outside the other solid. For surfels close to the boundary of the other solid, we use the distance field and its gradient to define a clipping plane, which can be used to resample or clip the surfel. Our algorithm runs at interactive rates on consumer-level graphics hardware. Categories and Subject Descriptors (according to ACM CCS): I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling 1 Introduction For many years, constructive solid geometry (CSG) has been a useful tool in computer graphics and related areas. In the CAD community CSG is applied to primitive objects (such as spheres, cylinders and cubes) to construct shapes with a more complex geometric shape. However, CSG can also be used as an editing tool for complex free-form solids. Special care has to be taken to maintain scalability and interactivity. Recent work [AD03, PKKG03] has showed that, by employ- ing a point-sampled surface representation together with a clever acceleration structure, interactivity can be reached. In this paper we build upon this work and increase the performance by performing the calculations on the GPU. The motivation behind this is that, when performing boolean operations, the same operation, i.e. inside-outside classifica- tion, has to be performed on all surfels. This maps well onto the so-called single instruction, multiple data (SIMD) archi- tecture of programmable graphics hardware. Our algorithm works in two steps: in a first step we com- pute an inside-outside partitioning for each solid using 3- color grids and signed distance fields. This partitioning is stored in texture memory which will be used as an acceler- email:{barta,phil}@cs.kuleuven.ac.be ation structure in the classification step. Next, in the clas- sification step, we classify all surfels as inside, outside or intersecting by testing each surfel against the partitioning of the other solid. For surfels close to the boundary of the other solid, we use the distance field and its gradient to define a clipping plane. This plane can be used to resample or clip the intersecting surfel to obtain sharp edges. We perform all calculations on the GPU, exploiting the SIMD architecture. This paper builds on [AD03], our contribution is a method to perform boolean operations on surfel-bounded solids en- tirely on the GPU. To achieve this, we propose GPU-based algorithms to construct the inside-outside partitioning, to classify the surfels and to calculate a clipping or re-sampling plane for intersecting surfels. We start by giving an overview of related work in sec- tion 2. Next, we briefly recapitulate the algorithms this work is based on in section 3. We discuss how these algorithms can be mapped to a GPU implementation in section 4. In section 5 we illustrate the performance and present some re- sults. Opportunities of future research and improvement are given in section 6. Finally, we conclude in section 7. 2 Related Work Point-Based Rendering. In recent years, researchers inves- tigate the use of points to represent the surface of complex free-form objects. Based on software implementations of c The Eurographics Association 2004.