This mode actually bakes outputs of an integrator. It will be mainly used to bake diffuse global illumination but it can bake any light path expression too.
Scene objects are baked one by one.
The integrator run in a single increment on each point (Max Samples = 1).
The result is output to one or more AOVs, each containing a single display channel.
As usual, you create a pattern with tokens to create named AOVs, but with a twist. The default file pattern is:
<scene>_<user:bakingIdentifier>_<aov>.<ext> |
user:bakingIdentifier
is a new attribute you can find on all bake-able shapes in the RenderMan section of the Attribute Editor:
It defaults to <shapepath>
so that each object gets a unique file name where the "|" character is replaced by "_", which is what you want when you bake to 2D images.
If you want to bake to a single 3D point cloud, you should remove <user:bakeIdentifier>
from the file name pattern.
Select the global baking resolution. Larger resolutions take longer to render.
LimitationAll objects will be baked at the same resolution. This is a limitation of the current implementation |
Point clouds are baked in world space and their density depends on the shape's dicing density. Select here the global dicing density for the scene.
You can override the dicing density per shape by setting the Dicing Strategy to worlddistance and entering a different Dicing Distance Length. Smaller values creates more points. ![]() |
Select an integrator and its settings. We recommend PxrPathTracer.
LimitationSome integrators like PxrVCM and PxrUnified are incompatible because they rely entirely on incremental rendering to accumulate samples and resolve illumination over time. Baking runs the integrator once per point (Max Samples = 1) and it must be setup to deliver good results in a single increment. |
For best results, you need to increase the number of direct (light samples and BXDFs samples) and indirect samples enough to get reasonably clean results. Best settings are very scene-dependant and will require experimentation.
LimitationBaking is not adaptive (i.e. brute-force) and all samples will be computed, regardless of convergence. Illumination baking can be very slow: make sure you choose a minimal number of samples and remember that a bit of noise is nearly invisible in baked illumination. |
Note that it makes no sense to bake view-dependant illumination, like specular, and you should alway try to bake view-independent signals like diffuse, albedo, etc.
LimitationIt is currently impossible to run the denoiser on baked 2D images. |
As usual, you may set the max diffuse and specular depth. This will override the usual scene settings during baking.
The AOV section works exactly like in the render globals.
We default to baking diffuse illumination, both direct and indirect.
Should you need to bake raw illumination, you will need to bake the albedo as well and divide the illumination by the albedo (in a compositing package or a shader) to obtain raw illumination (aka irradiance). |
LimitationEach AOV (aka Display) can only contain a single display channel and output at most 4 channels (RGBA). Add more displays to bake more channels. |
Any non-deep image format can be used to bake to images. OpenEXR is recommended to avoid clamped results.
Make sure to select the d_pointcloud
display driver to bake point clouds.
If you forget to do so, the preflight checks should warn you and cancel the bake render.
A bake render is essentially a batch render with one different setting. It uses the bake Hider instead of the raytrace Hider.
To start a bake render simply choose Bake Render: Illumination instead of Batch Render from the RenderMan menu. All the usual batch render preferences apply to the bake render.