Open Path Guided Rendering Made Easier

Get the Latest on All Things CODE

author-image

By

Aug. 8, 2022 – At many industry-graphics events, we are commonly asked, “What’s next in rendering innovation?” I am excited to share that Intel recently released the Intel® Open Path Guiding Library (Intel® Open PGL), the industry’s first open source library that enables developers to easily integrate state-of-the-art path-guiding methods into their renderers.

The Intel Open PGL library (currently in beta) increases rendering performance by optimizing the exploration of complex light transport, leading to a substantial reduction in image noise generation. This noise reduction allows artists and developers to use more realistic lighting when building and designing their scenes and animations, while still offering artistic freedom at the same or better rendering performance.

Open Source Approach to Drive Adoption & Innovation

Intel Open PGL can be integrated into any path tracing based renderer for interactive and final frame rendering, as well as scientific visualization. Today, only a small set of proprietary/closed-source renderers support path guiding; by releasing Open PGL as open source, we provide developers with an easy way to access this technology to advance the quality of their scenes.

Background

Path guiding is the result of decades of research. However, production rendering adoption just started recently (reference: Path guiding in production | ACM SIGGRAPH 2019 course).

Unique Features

One of the advantages of Open PGL is that developers can integrate path guiding into their rendering system without the need of implementing guiding data structures and their fitting processes, which can be complicated. Instead, they can simply integrate the library and start using a set of path guiding sampling algorithms, which were tested for robustness on a wide variety of different light-transport scenarios.

How it Works

During rendering, Open PGL learns the light distribution of a scene and uses this information to guide paths in important directions that have a high contribution to the rendered image. By guiding paths that interact with surfaces and volumes, Open PGL increases the sampling performance in complex indirect illumination scenarios - such as multi-bounce diffuse illumination, multi-scattered volumetric illumination, and even simpler direct and indirect caustic effects.

Innovation with Blender

At this point, we’re just getting started with testing this library with the community. We recently published our initial integration into Blender’s Cycles and are working with the Blender team to make it part of an upcoming Blender release. Builds of this integration are publicly available in an open source production rendering environment, enabling users and developers to test and play with the path guiding capabilities that Open PGL offers.

See Open PGL at SIGGRAPH where we have a live demo of our integration of the library into Blender Cycles at the Intel Booth #427. I’ll be at the event to answer any questions.

Intel Open PGL in Action

An interior scene with complex, diffuse, multi-bounce global illumination, rendered with Blender’s Cycles.

An interior scene with complex, diffuse, multi-bounce global illumination, rendered with Blender’s Cycles. The image shows equal-time renderings (5 minutes on an Intel® Core™ i9-7980XE Extreme Edition processor) where the left is Cycles without Intel Open PGL optimizations and the right with Intel Open PGL optimizations. The scene was a model by Jesus Sandoval.1

Flooded Sponza Compare with Open PGL

A flooded version of Intel’s version of the famous Sponza rendered with Blender’s Cycles.2 The water surface generates directly visible caustics on the floor, which indirectly illuminate the scene. The image shows equal time renderings (5 minutes on an Intel Core i9-7980XE where the left is Cycles without Intel Open PGL optimizations and the right with Intel Open PGL optimizations. Without path guiding, Cycles is not able to resolve these caustics and the related indirect illumination effects.

Underwater rendered with Blender’s Cycles, including a physically correct simulation of the light transport inside the water volume.

Underwater rendered with Blender’s Cycles, including a physically correct simulation of the light transport inside the water volume. The image shows equal-time renderings (10 minutes on an Intel Core i9-7980XE) where the left is Cycles without Intel Open PGL optimizations and the right with Intel Open PGL optimizations. The scene is based on the “Nishita Sky Demo” scene by Pablo Vazquez.3

Try it Out | Join the Community

This is just the beginning for Intel Open Path Guiding Library and we encourage the community to give it a try in your own projects and let us know any improvements or features you need.

Open PGL is freely available and distributed via the Apache 2.0 license and can be downloaded from GitHub.4 Developers and content creators are invited to join the community, to use the library, collaborate, and provide feedback on how to improve it.

Review the beta implementation and API

oneAPI Cross-architecture/Cross-vendor Hardware Support

Intel Open PGL is optimized for different CPU platforms, including Intel® processors with SSE, Intel® AVX-2, and Intel® AVX-512. The library also works on x86 compatible processors, support for ARM and Apple’s M1 CPUs are coming soon. Support for upcoming Intel Xe architecture GPUs and industry-standard GPUs are planned in the future.

Have fun innovating.

Sebastian

Product and Performance Information

1Model by Jesus Sandoval, https://blendermarket.com/products/dark-interior-scene, optimized by Intel Open PGL using Blender.
2Intel’s version of the famous Sponza rendered with Blender’s Cycles. Source file: intel.com/content/www/us/en/developer/topic-technology/graphics-research/samples.html, optimized by Intel Open PGL.
3Original scene is CC0 and part of Blender’s demo scene repositories: cloud.blender.org/p/gallery/5f4d1791cc1d7c5e0e8832d4, optimized by Intel Open GPL.
4The Intel Open Path Guiding Library will be integrated into the Intel oneAPI Rendering Toolkit in a future release.