Abstract: RenderMan XPU is a rewrite of Pixar's RenderMan renderer, designed to run on both CPUs and GPUs. Like its predecessor, it is a progressive path tracer, suitable for both interactive previews and high-quality final-frame rendering, but it utilizes modern hardware and software techniques to run significantly faster. Most source code is shared between the two platforms; code for materials (bxdfs) and light transport (integrators) is compiled with a C++ compiler for CPUs and a CUDA compiler for GPUs, with templating, specialization, and a few macros to handle syntax differences and parallel execution abstractions. The shaders that provide the material input values are written in OSL; we use LLVM so that the same OSL code will run on both types of hardware. Only the low-level ray tracing code and texture lookup and caching code is separate. Typical speedups over our previous renderer (for high-quality final-frame images) are 1.8x to 2.3x on CPUs, 5x to 10x on GPUs, and 6x to 15x on both.
Published in: Computer Graphics Forum (Proceedings of High-Performance Graphics 2025), volume 44, number 8. Eurographics / John Wiley & Sons, June 2025. (Copenhagen, Denmark, June 23-25.)
One-line summary: An in-depth description of the latest generation of Pixar's RenderMan renderer, running on CPUs and GPUs.
Download paper here: paper.pdf.
Supplemental material: supplemental.
Corrections:
1) Vassil Keremidchiev kindly pointed out that V-Ray does run on both CPUs and GPUs.
2) Instead of [CDE*14], an earlier and better reference for the octahedral normal vectors
would be: "On Floating-Point Normal Vectors" by Quirin Meyer, Jochen Suessmuth, Gerd Sussner,
Marc Stamminger and Guenther Greiner, Computer Graphics Forum (Proceedings of the Eurographics
Symposium on Rendering 2010), volume 29, number 4, 2010.
Back to Per's publication page.