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.
- Apodaca, A. A., and Gritz, L. 1999. Advanced RenderMan: Creating CGI for Motion Pictures. Morgan Kaufmann Publishers Inc. Google ScholarDigital Library
- Apodaca, T. 2000. How PhotoRealistic RenderMan works. ACM SIGGRAPH 2000 Course Notes.Google Scholar
- Bleiweiss, A., and Preetham, A. 2003. Ashli - advanced shading language interface. ACM SIGGRAPH Course Notes.Google Scholar
- Blender Foundation, 2006. Elephants Dream home page. http://orange.blender.org.Google Scholar
- 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
- 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
- Cook, R. L., Carpenter, L., and Catmull, E. 1987. The Reyes image rendering architecture. In SIGGRAPH'87, 95--102. Google ScholarDigital Library
- Cook, R. L. 1986. Stochastic sampling in computer graphics. ACM Trans. Gr. 5, 1, 51--72. Google ScholarDigital Library
- 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
- Haeberli, P., and Akeley, K. 1990. The accumulation buffer: hardware support for high-quality rendering. In SIGGRAPH'90, 309--318. Google ScholarDigital Library
- Harris, M., Owens, J., Sengupta, S., Zhang, Y., and Davidson, A., 2007. CUDPP homepage. http://www.gpgpu.org/developer/cudpp/.Google Scholar
- Hou, Q., Zhou, K., and Guo, B. 2008. BSGP: Bulk-Synchronous GPU Programming. ACM Trans. Gr. 27, 3, 9. Google ScholarDigital Library
- 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
- 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
- NVIDIA, 2008. Gelato home page. http://www.nvidia.com/page/gz_home.html.Google Scholar
- Olano, M., and Lastra, A. 1998. A shading language on graphics hardware: the pixelflow shading system. In SIGGRAPH'98, 159--168. Google ScholarDigital Library
- 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
- Patney, A., and Owens, J. D. 2008. Real-time Reyes-style adaptive surface subdivision. ACM Trans. Gr. 27, 5, 143. Google ScholarDigital Library
- Patney, A. 2008. Real-time Reyes: Programmable pipelines and research challenges. ACM SIGGRAPH Asia 2008 Course Notes.Google Scholar
- Peachey, D. 1990. Texture on demand. Tech. rep., Pixar Technical Memo #217.Google Scholar
- 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
- 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
- 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
- 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
- Toshiya, H., Shinji, O., and Jense, H. W. 2008. Progressive photon mapping. ACM Trans. Gr. 27, 5, 127. Google ScholarDigital Library
- 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
- WHiTeRaBBiT, 2008. RIB MOSAIC home page. http://ribmosaic.wiki.sourceforge.net/.Google Scholar
Index Terms
- RenderAnts: interactive Reyes rendering on GPUs
Recommendations
RenderMan: An Advanced Path-Tracing Architecture for Movie Rendering
Special Issue On Production Rendering and Regular PapersPixar’s RenderMan renderer is used to render all of Pixar’s films and by many film studios to render visual effects for live-action movies. RenderMan started as a scanline renderer based on the Reyes algorithm, and it was extended over the years with ...
RenderAnts: interactive Reyes rendering on GPUs
SIGGRAPH Asia '09: ACM SIGGRAPH Asia 2009 papersWe 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 ...
The lightspeed automatic interactive lighting preview system
SIGGRAPH '07: ACM SIGGRAPH 2007 papersWe present an automated approach for high-quality preview of feature-film rendering during lighting design. Similar to previous work, we use a deep-framebuffer shaded on the GPU to achieve interactive performance. Our first contribution is to generate ...
Comments