Exact Procedural CSG Modeling for Real Time Graphics
Generative CSG models, while having the desirable characteristics of compactness and resolution independence, have never been used for real time rendering because no algorithms existed which could both maintain their compact representation and render them efficiently at run time. The key difficulty in doing this was finding a compact, exact representation of the implicit curve of intersection that arises from CSG operations. The primary contribution of this paper is a new algorithm for finding a piecewise parametric representation for this intersection curve. The parametric representation is compact and exact to the limits of precision of floating point arithmetic. Arbitrary points on the intersection curve can be efficiently evaluated at run time which allows triangulation density to be adapted dynamically. Using this representation, we have made complex procedural objects that have a memory footprint of just 7-11 KBytes, which render at approximately 20 million triangles/ sec. on an NVidia 6800 GPU.