We present a GPU based implementation of Reyes-style adaptive surface
subdivision, known in Reyes terminology as the Bound/Split and Dice
stages. The performance of this task is important for the Reyes
pipeline to map efficiently to graphics hardware, but its recursive
nature and irregular and unbounded memory requirements present a
challenge to an efficient implementation. Our solution begins by
characterizing Reyes subdivision as a work queue with irregular
computation, targeted to a massively parallel GPU. We propose
efficient solutions to these general problems by casting our solution
in terms of the fundamental primitives of prefix-sum and reduction,
often encountered in parallel and GPGPU environments.
Our results indicate that real-time Reyes subdivision can indeed be
obtained on today's GPUs. We are able to subdivide a complex model to
subpixel accuracy within 15 ms. Our measured performance is several
times better than that of Pixar's RenderMan. Our implementation scales
well with the input size and depth of subdivision. We also address
concerns of memory size and bandwidth, and analyze the feasibility of
conventional ideas on screen-space buckets.