This Article 
 Bibliographic References 
 Add to: 
Near Real-Time CSG Rendering Using Tree Normalization and Geometric Pruning
May/June 1989 (vol. 9 no. 3)
pp. 20-28

A description is given of a set of algorithms for efficiently rendering an object defined by constructive solid geometry (CSG) directly onto a frame buffer without converting first to a boundary representation. This method requires only that the frame buffer contain sufficient memory to hold two color values, two depth values, and three one-bit flags. The algorithm first converts the CSG tree to a normalized form that is analogous to the sum-of-products form for Boolean switching functions. The following are developed: dynamic interleaving of Boolean tree normalization with bounding-box pruning, allowing efficient rendering for most CSG objects; a method for extending the technique to nonconvex primitives; and implementation of these ideas in an interactive CSG design system on the Pixel-planes 4 solid modeling system. In the design system the designer directly manipulates the CSG structure while continuously viewing the color rendering of the object being designed.

1. J. Goldfeather, J.P.M. Hultquist, and H. Fuchs, "Fast Constructive Solid Geometry Display in the Pixel-Powers Graphics System,"Computer Graphics(Proc. SIGGRAPH), Vol. 20, No. 4, Aug. 1986, pp. 107-116.
2. W. Thibault and B. Naylor, "Set Operations on Polyhedra Using Binary Space Partitioning Trees,"Computer Graphics (Proc. Siggraph), Vol. 21, No. 4, 1987, pp. 153-161.
3. P.R. Atherton, "A Scan-Line Hidden Surface Removal Procedure for Constructive Solid Geometry,"Computer Graphics(Proc. SIGGRAPH 83), July 1983, pp. 73-82.
4. G. Kedem and J.L. Ellis, "Computer Structures for Curve-Solid Classification in Geometric Modeling," Tech. Report TR84-37, Microelectronic Center of North Carolina, Research Triangle Park, N.C., 1984.
5. J.R. Rossignac and A.A.G. Requicha, "Depth-Buffering Display Techniques for Constructive Solid Geometry,"CG&A, Vol. 6, No. 9, Sept. 1986, pp. 29-39.
6. F.W. Jansen, "A Pixel-Parallel Hidden Surface Algorithm for Constructive Solid Geometry,"Proc. Eurographics 86, Elseviers Science Publ., New York, 1986, pp. 29-40.
7. H. Fuchs et al., "Fast Spheres, Shadows, Textures, Transparencies and Image Enhancement in Pixel-Planes,"Computer Graphics(Proc. SIGGRAPH), Vol. 19, No. 3, July 1985, pp. 111-120.
8. N. Okino, Y. Kakazu, and M. Morimoto, "Extended Depth-Buffer Algorithms for Hidden-Surface Visualization,"CG&A, Vol. 4, No. 5, May 1984, pp. 79-88.
9. J. Goldfeather and S. Molnar, "CSG Tree Restructuring," tech. report, Computer Science Dept., Univ. of North Carolina at Chapel Hill, 1989.
10. R.B. Tilove, "Set Membership Classification: A Unified Approach to Geometric Intersection Problems,"IEEE Trans. on Computers, C-29, No. 10, Piscataway, NJ, Oct. 1980, pp. 874-883.
11. F.W. Jansen and R.J. Sutherland, "Display of Solid Models with a Multi-Processor System,"Proc. Eurographics 87, Elsevier Science Publ., 1987, pp. 377-387.
12. K. Bouatouch et al., "A New Algorithm of Space Tracing Using a CSG Model,"Proc. Eurographics 87, Elsevier Science Publ., New York, 1987, pp. 65-77.
13. C. Durand and S. Molnar, "CSG User's Manual," Computer Science Dept., Univ. of North Carolina at Chapel Hill, 1987.
14. H. Fuchs et al., "A Heterogeneous Multiprocessor Graphics System Using Processor-Enhanced Memories," Tech. Report TR89-005, Dept. of Computer Science, Univ. of North Carolina at Chapel Hill, 1989.

Jack Goldfeather, Steven Monar, Greg Turk, Henry Fuchs, "Near Real-Time CSG Rendering Using Tree Normalization and Geometric Pruning," IEEE Computer Graphics and Applications, vol. 9, no. 3, pp. 20-28, May-June 1989, doi:10.1109/38.28107
Usage of this product signifies your acceptance of the Terms of Use.