Massively Parallel Stackless Ray Tracing of Catmull-Clark Subdivision Surfaces
We present a fast and efficient method for intersecting rays with Catmull-Clark subdivision surfaces. It takes advantage of the approximation democratized by OpenSubdiv, in which regular patches are represented by tensor product Bézier surfaces and irregular ones are approximated using Gregory patches. Our algorithm operates solely on the original patch data and can process both patch types simultaneously with only a small amount of control flow divergence. Besides introducing an optimized method to determine axis aligned bounding boxes of Gregory patches restricted in the parametric domain, several techniques are introduced that accelerate the recursive subdivision process including stackless operation, efficient work distribution, and control flow optimizations. The algorithm is especially useful for quick turnarounds during patch editing and animation playback.