No abstract
Abstract-To eliminate the need to evaluate the intersection curves in explicit representations of surface cutouts or of trimmed faces in BReps of CSG solids, we advocate using Constructive Solid Trimming (CST). A CST face is the intersection of a surface with a Blist representation of a trimming CSG volume. We propose a new, GPU-based, CSG rendering algorithm, which trims the boundary of each primitive using a Blist of its Active Zone. This approach is faster than the previously reported Blister approach, eliminates occasional speckles of wrongly colored pixels, and provides additional capabilities: painting on surfaces, rendering semitransparent CSG models, and highlighting selected features in the BReps of CSG models.Index Terms-I.3.3 GPU support for CSG rendering, 3.5.a&b CSG expressions for trimmed faces, J.6 CAD model visualization
Figure 0: Solids X 1 , X 2 , X 3 , X 4 , and X 5 (from left) were rendered with Blister in real-time directly from their CSG expressions. X 3 has 48 CSG primitives. Its disjunctive form has over 30,000 products. X 4 subtracts a bunny from the union of 3 other bunnies. X 5 is transparent. AbstractBy combining depth peeling with a linear formulation of a Boolean expression called Blist, the Blister algorithm renders an arbitrary CSG model of n primitives in at most k steps, where k is the number of depth-layers in the arrangement of the primitives. Each step starts by rendering each primitive to produce candidate surfels on the next depth-layer. Then, it renders the primitives again, one at a time, to classify the candidate surfels against the primitive and to evaluate the Boolean expression directly on the GPU. Since Blist does not expand the CSG expression into a disjunctive (sum-of-products) form, Blister has O(kn) time complexity. We explain the Blist formulation while providing algorithms for CSG-to-Blist conversion and Blist-based parallel surfel classification. We report real-time performance for nontrivial CSG models. On hardware with an 8-bit stencil buffer, we can render all possible CSG expressions with 3909 primitives.
Figure 0: Solids X 1 , X 2 , X 3 , X 4 , and X 5 (from left) were rendered with Blister in real-time directly from their CSG expressions. X 3 has 48 CSG primitives. Its disjunctive form has over 30,000 products. X 4 subtracts a bunny from the union of 3 other bunnies. X 5 is transparent. AbstractBy combining depth peeling with a linear formulation of a Boolean expression called Blist, the Blister algorithm renders an arbitrary CSG model of n primitives in at most k steps, where k is the number of depth-layers in the arrangement of the primitives. Each step starts by rendering each primitive to produce candidate surfels on the next depth-layer. Then, it renders the primitives again, one at a time, to classify the candidate surfels against the primitive and to evaluate the Boolean expression directly on the GPU. Since Blist does not expand the CSG expression into a disjunctive (sum-of-products) form, Blister has O(kn) time complexity. We explain the Blist formulation while providing algorithms for CSG-to-Blist conversion and Blist-based parallel surfel classification. We report real-time performance for nontrivial CSG models. On hardware with an 8-bit stencil buffer, we can render all possible CSG expressions with 3909 primitives.
IntroductionConstructive Solid Geometry (CSG) represents solids by recursively combining primitive shapes using union, intersection, and difference operators. Simple shapes (blocks, cylinders) or sculptured ones (B-spline surfaces) are used as primitives in CAD. Primitives bounded by triangle meshes or subdivision surfaces are more popular in animation and video games. Previous GPU-based, real-time CSG rendering algorithms scanconvert the primitive shapes to generate fragments that represent surfels on the boundaries of the primitives. They classify these surfels against the CSG expression while using depth-comparisons to select at each pixel the foremost point that lies on or in the CSG shape. In particular, the Blister algorithm, presented by Hable and Rossignac at SIGGRAPH 2005 peels the union of all primitives as a single object and classifies the fragments against the Blist (Boolean list) form of the CSG expression. Although fast, this approach suffers from three significant drawbacks which are removed by the use of the CST approach proposed here: (1) it cannot be used to produce correct rendering of semitransparent CSG shapes.(2) It often makes color mistakes at pixels (ghost points) where a primitive boundary that should have been trimmed away by an intermediate Boolean operation happens to intersect the boundary of the final CSG solid.(3) It cannot be used to paint on CSG models. We propose here a new CSG rendering approach which solves these three problems and is faster than Blister. Constructive Solid TrimmingOur approach is based on a new Constructive Solid Trimming (CST) representation of the CSG model. CST combines important advantages of CSG (mathematical accuracy, no boundary evaluation cost, support for realtime editing and animation of the CSG model) and of Boundary Representations (a trimmed surface representation of the contribution of each primitive to the boundary of the CSG solid). The CST model represents the trimmed surface of primitive P implicitly as the intersection of the boundary B of P with the active zone Z of P in the CSG model. The trimmed face may be rendered at any desired accuracy by depth-peeling it on the GPU and by trimming the fragments of each peel-layer against the Blist expression of Z. The flexibility of this approach and its advantages over Blister are demonstrated in Fig. 1 by removing the trimmed face of one primitive or by making all trimmed faces transparent, in Fig. 2 by showing that CST removes the ghost points of Blister, and in Fig. 3 by showing that CST can trim independently the faces of overlapping primitives. Results and ConclusionCST is faster than Blister. In an 800x800 window, the object in Figure 1 is rendered in 89ms with CST and in 100ms with Blister on an nVidia Geforce 6800 GT.CST is a new boundary representation that is mathematically more precise and provides two significant practical benefits to the rendering community. First, rendering methods that apply to triangle meshes can now be used on Boolean combinations of solids. Second, it allows arti...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.