“Real-time Reyes-style adaptive surface subdivision”
Conference:
Type(s):
Title:
- Real-time Reyes-style adaptive surface subdivision
Session/Category Title: Reflectance & subdivision
Presenter(s)/Author(s):
Abstract:
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.
References:
1. Apodaca, A. A., and Gritz, L. 1999. Advanced RenderMan: Creating CGI for Motion Pictures. Morgan Kaufmann Publishers Inc. Google Scholar
2. Bóo, M., Amor, M., Doggett, M., Hirche, J., and Strasser, W. 2001. Hardware support for adaptive subdivision surface rendering. In Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware, 33–40. Google Scholar
3. Boubekeur, T., and Schlick, C. 2008. A flexible kernel for adaptive mesh refinement on GPU. Computer Graphics Forum 27, 1 (Mar), 102–113.Google ScholarDigital Library
4. Christensen, P. H., Fong, J., Laur, D. M, and Batali, D. 2006. Ray tracing for the movie “Cars”. IEEE Symposium on Interactive Ray Tracing 2006 (Sept.), 1–6.Google Scholar
5. Cook, R. L., Carpenter, L., and Catmull, E. 1987. The Reyes image rendering architecture. In Computer Graphics (Proceedings of SIGGRAPH 87), 95–102. Google Scholar
6. Harris, M, Owens, J. D., Sengupta, S., Zhang, Y., and Davidson, A. 2007. CUDPP: CUDA data parallel primitives library. http://www.gpgpu.org/developer/cudpp/, Aug.Google Scholar
7. Lazzarino, O., Sanna, A., Zunino, C, and Lamberti, F. 2002. A PVM-based parallel implementation of the REYES image rendering architecture. In Proceedings of the 9th European PVM/MPI Users’ Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface, Springer-Verlag, 165–173. Google ScholarDigital Library
8. Microsoft Corporation. 2008.Introduction to the Direct3D 11 graphics pipeline. http://www.microsoft.com/downloads/details.aspx?familyid=E410716F-12BF-4E8F-AC41-97B4440C3B90.Google Scholar
9. Moreton, H. 2001. Watertight tessellation using forward differencing. In Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware, 25–32. Google Scholar
10. NVIDIA Corporation. 2007. NVIDIA CUDA: Compute unified device architecture. http://developer.nvidia.com/cuda, Jan.Google Scholar
11. Owens, J. D., Khailany, B., Towles, B., and Dally, W. J. 2002. Comparing Reyes and OpenGL on a stream architecture. In Graphics Hardware 2002, 47–56. Google ScholarDigital Library
12. Pellacini, F, Vidimče, K., Lefohn, A., Mohr, A., Leone, M., and Warren, J. 2005. Lpics: a hybrid hardware-accelerated relighting engine for computer cinematography. ACM Transactions on Graphics 24, 3 (Aug.), 464–470. Google ScholarDigital Library
13. Pharr, M., Lefohn, A., Kolb, C, Lalonde, P., Foley, T., and Berry, G. 2007. Programmable graphics—the future of interactive rendering. Tech. rep., Neoptica, Mar. http://www.pharr.org/matt/NeopticaWhitepaper.pdf.Google Scholar
14. Segal, M., and Akeley, K. 2006. The OpenGL® graphics system: A specification. http://www.opengl.org/documentation/specs, Dec.Google Scholar
15. Seiler, L., Carmean, D., Sprangle, E., Forsyth, T., Abrash, M., Dubey, P., Junkins, S., Lake, A., Sugerman, J., Cavin, R., Espasa, R., Grochowski, E., Juan, T., and Hanrahan, P. 2008. Larrabee: A many-core x86 architecture for visual computing. ACM Transactions on Graphics 27, 3 (Aug.), 18:1–18:15. Google ScholarDigital Library
16. Sengupta, S., Harris, M., Zhang, Y, and Owens, J. D. 2007. Scan primitives for GPU computing. In Graphics Hardware 2007, 97–106. Google ScholarDigital Library
17. Shiue, L.-J., Jones, I., and Peters, J. 2005. A realtime GPU subdivision kernel. ACM Transactions on Graphics 24, 3 (Aug.), 1010–1015. Google ScholarDigital Library
18. Wexler, D., Gritz, L., Enderton, E., and Rice, J. 2005. GPU-accelerated high-quality hidden surface removal. In Graphics Hardware 2005, 7–14. Google Scholar


