Volume 18,(1999), Number 2 pp. 149–158 Extending the CSG Tree Warping, Blending and Boolean Operations in an Implicit Surface Modeling System Brian Wyvill , Andrew Guy and Eric Galin University of Calgary, Department of Computer Science Université Claude-Bernard Lyon I, L.I.G.I.M 2500 University Dr. NW, Calgary, Canada 69622 Villeurbanne Cedex, France blob,guya @cpsc.ucalgary.ca egalin@ligim.univ-lyon1.fr Abstract Automatic blending has characterized the major advantage of implicit surface modeling systems. Recently, the introduction of deformations based on space warping and Boolean operations between primitives has increased the usefulness of such systems. We propose a further enhancement which will extend the range of models that can be easily and intuitively defined with a skeletal implicit surface system. We describe a hierarchical method which allows arbitrary compositions of models that make use of blending, warping and Boolean operations. We call this structure the BlobTree. Blending and space warping are treated in the same way as union, difference and intersection, i.e. as nodes in the BlobTree. The traversal of the BlobTree is described along with two rendering algorithms; a polygonizer and a ray tracer. We present some examples of interesting models which can be made easily using our approach that would be very difficult to represent with conventional systems. Keywords: blending, implicit surfaces, polygonizing, raytracing, warping. 1. Introduction The major advantage of implicit surface modeling systems has been the use of automatic blending between skeletal ele- ments. Recent developments in such systems include the ad- dition of Boolean operations reminiscent of CSG systems 14 and space warping which provides a method of implement- ing deformations 6 20 . Existing skeletal implicit surface systems do not include all of these important characteristics in a single unified struc- ture which would allow aribitrary blends between models that include Boolean operations as well as warping at a local and global level. The problem addressed by this work is how to organize blending, warping and Boolean operations in a manner that will enable global and local operations to be exploited in a general and intuitive fashion. CSG systems typically use a tree structure to describe the relationship of Boolean set operations such as union, inter- section and difference between half space primitives. Im- plicit surface systems have not evolved such an elegant way of representing the relationship between blending, warping and Boolean operations on skeletal element primitives. If implicit surface primitives were treated in a homoge- neous manner, then blending would occur globally, i.e. be- tween all primitives, whether this was desired or not. In this work we structure our implicit surface models using a tree which includes blending, warping and Boolean operations. We refer to the structure as the BlobTree. One advantage of the BlobTree is that it is an extendable data structure. Recently 22 proposed a method for applying 2D textures to implicit surfaces. We incorporated these ideas into the BlobTree as described in 17 . Due to the orthogonal nature of the BlobTree our implementation provides us with both local and global texturing of implicit models in a similar manner in which the local and global warping problem is solved. In this paper we present the following contributions : c The Eurographics Association and Blackwell Publishers 1999.Published by Blackwell Publishers, 108 Cowley Road, Oxford OX4 1JF, UK and 350 Main Street, Malden, MA 02148, USA.