Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PxrPathTracer is a core final-quality integrator in RenderMan. It implements the forward path tracing algorithm, which excels in outdoor, highly specular scenes. The simplicity of the algorithm generally makes it easy to use and to implement. Shortcomings may include slow convergence speeds, especially for scenes with significant caustic illumination (see the clampLuminance and allowCaustics parameters, below, for more information).

For direct illumination, PxrPathTracer looks at the values of the numLightSamples and numBxdfSamples parameters in order to the numLightSamples and numBxdfSamples parameters determine the number of light vs. Bxdf direct illumination samples, and the resulting direct illumination contributions are combined using multiple importance sampling.

For indirect illumination, PxrPathTracer, the sampleMode parameter controls the strategy for how indirect ray counts are apportioned between diffuse, glossy/specular, subsurface, and refraction/transmission Bxdf lobes.

...

Parameters

ParameterDescription
maxPathLengthControls the absolute upper bound on the maximum ray depth. A For example, a value of 1 for this parameter will allow direct illumination only, while a value of 4 will permit up to 3 bounces of global illumination. Default value is 10.
sampleModeControls the strategy for how indirect ray counts are apportioned between diffuse vs. glossy vs. specular Bxdf lobes. Valid values for this parameter are: "bxdf" or "manual". If "sampleMode" is set to "bxdf", then the Bxdf is responsible for balancing the number of indirect rays that will be spawned at each camera hit point between the diffuse vs. glossy vs. specular lobes, and the total number of indirect rays spawned at each camera hit point will be controlled by the numIndirectSamples parameter. If "sampleMode" is set to "manual" the user is responsible for explicitly specifying the number of indirect rays to spawn per Bxdf lobe at each camera hit point via the numDiffuseSamples, numSpecularSamples, numSubsurfaceSamples, andnumRefractionSamples parametersand numRefractionSamples parameters. The default is "bxdf".
numLightSamples Controls the number of light samples for direct illumination per camera hit point. The default is 1.
numBxdfSamplesControls the number of Bxdf samples for direct illumination per camera hit point. The default is 1.
numIndirectSamplesWhen sampleMode is set to Bxdf this parameter controls the total number of indirect rays to spawn per camera hit point. WhensampleMode is When sampleMode is set to manual the value of this parameter is ignored. The default is 1.
numDiffuseSamplesWhen sampleMode is set to manual, this parameter controls the number of indirect diffuse reflection rays to spawn per camera hit point. Ignored when sampleMode is set to Bxdf. The default is 1.
numSpecularSamplesWhen sampleMode is set to manual, this parameter controls the number of indirect specular/glossy reflection rays to spawn per camera hit point. Ignored when sampleMode is set to Bxdf. The default is 1.
numSubsurfaceSamplesWhen sampleMode is set to manual, this parameter controls the number of subsurface rays to spawn per camera hit point. Ignored whensampleMode is when sampleMode is set to Bxdf. The default is 1.
numRefractionSamplesWhen sampleMode is set to manual, this parameter controls the number of refraction/transmission rays to spawn per camera hit point. Ignored when sampleMode is set to "bxdf". The default is 1.
rouletteDepthControls the ray depth to begin performing Russian Roulette. The default is 4.
rouletteThresholdControls the path throughput threshold below which to begin performing perform Russian Roulette. The default is 0.2.
clampDepthIf a value for the clampLuminance parameter is specified, then clampDepth controls the ray depth at which to begin clamping based on the per-ray luminance. For example, setting this parameter to 2 and also specifying a value of 4 for clampLuminancewill of 4 for clampLuminance will ensure that the luminance of each ray's contribution is no more than 4 for all indirect illumination, without affecting or clamping the direct illumination. The default is 2.
clampLuminanceBy default the PxrPathTracer integrator clamps the luminance of each per-ray contribution to be at most 10.0. However, it is possible to change this behavior by specifying a different value for the clampLuminance parameter. Specifying a relatively low value for the clampLuminance parameter (for example, between 2 and 20) can greatly speed up convergence and, in many cases, will make PxrPathTracer converge more quickly than the more sophisticated PxrVCM or PxrUPBP integratorsophisticated PxrVCM or PxrUPBP integrators. In some cases, indirect illumination lights paths may be noticeably dimmer due to clamping; this may be an acceptable trade-off in certain cases. Setting this parameter to a very large number (such as 1e30) will effectively disable all clamping. The default is 10.0.
allowCausticsControls whether illumination from caustic light paths (that is, specular illumination onto diffuse surfaces) is allowed or disallowed. The default is 0 (off).
accumOpacity

Controls whether or not the path tracer will keep track of accumulated opacity along the path. The default is off. If you plan to render semi-opaque objects and care about alpha values for compositing, you might want to turn this on. See ? for more details.

maxContinuationLength

This is an advanced knob for rendering overlapping volumes. Similar to maxPathLength, this controls the upper bound on the maximum ray depth including continuation rays. Any A negative value will cause the path tracer to use an empirical heuristic to bound the ray depth. A positive value will override this heuristic and cause the path tracer to use the parameter value directly as the maximum continuation ray depth. Continuation rays are normally produced by volumes when no density exists within subsections of them. If there are many such zero density subsections overlapping then it is possible to quickly hit the maximum continuation depth quickly. If you are rendering a scene with highly overlapping volumes, you might want to adjust this parameter to be generous enough for the ray to exit the scene.

 

...