ACM Transactions on Graphics · 2005 · 60 citations · 33 references
ComputingComputer EngineeringComputer ScienceAlgorithmsComputer GraphicsRenderingComputational ComplexityComputer Graphics HardwareGraphics Processing Unit ArchitectureGraphics Processing UnitsImage SynthesisRendering PipelineBoolean Circuit ComplexityBoolean Function DecompositionBoolean MinimizationComplexity Of Boolean FunctionsCsg Tree RepresentationGpu Parallel AlgorithmsParallel Time ComplexityPolynomial Time Complexity
By 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.
33
Interactive Order-Independent Transparency
Cass Everitt · 2001 · 391 citations
Switching and finite automata theory, 2nd ed.
J.M. Taylor · Proceedings of the IEEE · 1980 · 114 citations