Near Real-Time CSG (Constructive Solid Geometry) Rendering Using Tree Normalization and Geometric Pruning

Abstract

Described is a set of algorithms for efficiently rendering a CSG- defined objective directly into a frame buffer without converting first to a boundary representation. The method requires only that the frame buffer contain sufficient memory to hold two color values, two z 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. Expanding on results previously reported the authors, introduce 1) an improved algorithm for converting a CSG expression to sum-of-products form, 2) a technique for minimizing the tree using don't care conditions based on geometry, 3) the dynamic interleaving of the above two algorithms, allowing very efficient rendering for most CSG objects, 4) a method for extending the technique to non- convex primitives, and 5) an implementation of these ideas in an interactive CSG design system on Pixelplanes 4. In this system the designer directly manipulates the CSG structure while continuously viewing the color rendering of the object under design. It is believed these algorithms will attain similar speeds on many of the next generation high-performance graphics system that have frame buffers with many bits per pixel.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1988
Accession Number
ADA201085

Entities

People

  • Greg Turk
  • Henry Fuchs
  • Jack Goldfeather
  • Steven Molnar

Organizations

  • University of North Carolina at Chapel Hill

Tags

Communities of Interest

  • Air Platforms
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Automata Theory
  • Boundaries
  • Classification
  • Computer Graphics
  • Computer Science
  • Computers
  • Coordinate Systems
  • Data Sets
  • Front End Processors
  • Geometry
  • Graphics
  • North Carolina
  • Polygons
  • Ray Tracing
  • Three Dimensional
  • User Interface

Fields of Study

  • Computer science

Readers

  • Computer Programming and Software Development.
  • Graph Algorithms and Convex Optimization.
  • Image Processing and Computer Vision.