The PMC Kernel is a custom mutating unbiased kernel designed specifically for GPU rendering. Rendering with PMC creates physically accurate lighting and caustic effects and is generally produces the highest quality result but can also take the most time to render depending on the scene. Below we will explain the options specific to the PMC kernel. All other options are explained in Directlighting and Pathtracing. You can look at those sections as needed.


Specifies how long the kernel investigates good paths before it tries to find a new path. Low values can create a noisy image while larger values can create a splotchy image.

dIrect lIght Importance:

Causes the kernel to prioritize ray tracing paths with indirect light. For example, imagine sunlight through a window that creates a bright spot on the floor. When direct light importance is set to a value of 1, the kernel will sample this area more and reduce noise around the bright spot. If the direct light importance is reduced, the PMC kernel reduces its efforts to sample that bright area and focuses more on problematic areas that may be harder to render such as areas with more indirect lighting.

max. rejects:

Controls the “bias” of the render. By reducing the value, the result will be more biased, but the render time will be shorter. In rendering terminology biased renders introduce slight blurring and other less physically accurate computational techniques in order to reduce render time. In the picture on the left below, the quality is lower than the other and is not physically accurate. But render time is faster than the other. This setting should be done entirely considering quality/speed ratio.


Controls how many samples are calculated in parallel. Smaller values require less memory to store the samples state but may cause the render to be a bit slower. High values require more memory but can reduce render time. The change in performance depends on the scene and the GPU architecture. Similar to parallel samples in Directlighting or Pathtracing. If you have a lot of Vram, be sure to use this option.


The number of work blocks (of 512K samples each) done per kernel run. Increasing this value increases the memory requirement on the system but does not affect memory usage and may increase render speed.