“RenderAnts: interactive Reyes rendering on GPUs”
Conference:
Type(s):
Title:
- RenderAnts: interactive Reyes rendering on GPUs
Session/Category Title: GPU algorithms & systems
Presenter(s)/Author(s):
Moderator(s):
Abstract:
We present RenderAnts, the first system that enables interactive Reyes rendering on GPUs. Taking RenderMan scenes and shaders as input, our system first compiles RenderMan shaders to GPU shaders. Then all stages of the basic Reyes pipeline, including bounding/splitting, dicing, shading, sampling, compositing and filtering, are executed on GPUs using carefully designed data-parallel algorithms. Advanced effects such as shadows, motion blur and depth-of-field can also be rendered. In order to avoid exhausting GPU memory, we introduce a novel dynamic scheduling algorithm to bound the memory consumption during rendering. The algorithm automatically adjusts the amount of data being processed in parallel at each stage so that all data can be maintained in the available GPU memory. This allows our system to maximize the parallelism in all individual stages of the pipeline and achieve superior performance. We also propose a multi-GPU scheduling technique based on work stealing so that the system can support scalable rendering on multiple GPUs. The scheduler is designed to minimize inter-GPU communication and balance workloads among GPUs.We demonstrate the potential of RenderAnts using several complex RenderMan scenes and an open source movie entitled Elephants Dream. Compared to Pixar’s PRMan, our system can generate images of comparably high quality, but is over one order of magnitude faster. For moderately complex scenes, the system allows the user to change the viewpoint, lights and materials while producing photorealistic results at interactive speed.
References:
1. Apodaca, A. A., and Gritz, L. 1999. Advanced RenderMan: Creating CGI for Motion Pictures. Morgan Kaufmann Publishers Inc. Google ScholarDigital Library
2. Apodaca, T. 2000. How PhotoRealistic RenderMan works. ACM SIGGRAPH 2000 Course Notes.Google Scholar
3. Bleiweiss, A., and Preetham, A. 2003. Ashli – advanced shading language interface. ACM SIGGRAPH Course Notes.Google Scholar
4. Blender Foundation, 2006. Elephants Dream home page. http://orange.blender.org.Google Scholar
5. Blumofe, R. D., Joerg, C. F., Kuszmaul, B. C., Leiserson, C. E., Randall, K. H., and Zhou, Y. 1995. Cilk: an efficient multithreaded runtime system. ACM SIGPLAN Notices 30, 8, 207–216. Google ScholarDigital Library
6. Budge, B. C., Bernardin, T., Sengupta, S., Joy, K. I., and Owens, J. D. 2009. Out-of-core data management for path tracing on hybrid resources. In Proceedings of Eurographics 2009.Google Scholar
7. Cook, R. L., Carpenter, L., and Catmull, E. 1987. The Reyes image rendering architecture. In SIGGRAPH’87, 95–102. Google ScholarDigital Library
8. Cook, R. L. 1986. Stochastic sampling in computer graphics. ACM Trans. Gr. 5, 1, 51–72. Google ScholarDigital Library
9. Cyril, C., Fabrice, N., Sylvain, L., and Elmar, E. 2009. Gigavoxels: Ray-guided streaming for efficient and detailed voxel rendering. In I3D’09. Google ScholarDigital Library
10. Haeberli, P., and Akeley, K. 1990. The accumulation buffer: hardware support for high-quality rendering. In SIGGRAPH’90, 309–318. Google ScholarDigital Library
11. Harris, M., Owens, J., Sengupta, S., Zhang, Y., and Davidson, A., 2007. CUDPP homepage. http://www.gpgpu.org/developer/cudpp/.Google Scholar
12. Hou, Q., Zhou, K., and Guo, B. 2008. BSGP: Bulk-Synchronous GPU Programming. ACM Trans. Gr. 27, 3, 9. Google ScholarDigital Library
13. Hou, Q., Zhou, K., and Guo, B. 2009. Debugging GPU stream programs through automatic dataflow recording and visualization. ACM Trans. Gr. 27, 5. Google ScholarDigital Library
14. Lazzarino, O., Sanna, A., Zunino, C., and Lamberti, F. 2002. A PVM-based parallel implementation of the Reyes image rendering architecture. Lecture Notes In Computer Science 2474, 165–173. Google ScholarDigital Library
15. NVIDIA, 2008. Gelato home page. http://www.nvidia.com/page/gz_home.html.Google Scholar
16. Olano, M., and Lastra, A. 1998. A shading language on graphics hardware: the pixelflow shading system. In SIGGRAPH’98, 159–168. Google ScholarDigital Library
17. 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
18. Patney, A., and Owens, J. D. 2008. Real-time Reyes-style adaptive surface subdivision. ACM Trans. Gr. 27, 5, 143. Google ScholarDigital Library
19. Patney, A. 2008. Real-time Reyes: Programmable pipelines and research challenges. ACM SIGGRAPH Asia 2008 Course Notes.Google Scholar
20. Peachey, D. 1990. Texture on demand. Tech. rep., Pixar Technical Memo #217.Google Scholar
21. Peercy, M. S., Olano, M., Airey, J., and Ungar, P. J. 2000. Interactive multi-pass programmable shading. In SIGGRAPH 2000, 425–432. Google ScholarDigital Library
22. 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 Trans. Gr. 24, 3, 464–470. Google ScholarDigital Library
23. Ragan-Kelley, J., Kilpatrick, C., Smith, B. W., Epps, D., Green, P., Hery, C., and Durand, F. 2007. The lightspeed automatic interactive lighting preview system. ACM Trans. Gr. 26, 3, 25. Google ScholarDigital Library
24. Reeves, W. T., Salesin, D. H., and Cook, R. L. 1987. Rendering antialiased shadows with depth maps. In SIGGRAPH’87, 283–291. Google ScholarDigital Library
25. Toshiya, H., Shinji, O., and Jense, H. W. 2008. Progressive photon mapping. ACM Trans. Gr. 27, 5, 127. Google ScholarDigital Library
26. Wexler, D., Gritz, L., Enderton, E., and Rice, J. 2005. GPU-accelerated high-quality hidden surface removal. In Graphics Hardware 2005, 7–14. Google ScholarDigital Library
27. WHiTeRaBBiT, 2008. RIB MOSAIC home page. http://ribmosaic.wiki.sourceforge.net/.Google Scholar


