PMC Kernel


The PMC kernel is a custom mutating, unbiased kernel designed for GPUThe GPU is responsible for displaying graphical elements on a computer display. The GPU plays a key role in the Octane rendering process as the CUDA cores are utilized during the rendering process. rendering. Rendering with PMC creates physically accurate lighting and caustic effects to produce the highest quality results, but it can also take the most time to render, depending on the scene.

Figure 1: The PMC settings in the Node Inspector


PMC Kernel Parameters


Max Samples - Sets the maximum number of samples per pixel before the rendering process stops. Higher values produce cleaner renders. There is no rule as to how many samples per pixel are required for a good render - it depends on the content and complexity of the scene.

DiffuseAmount of diffusion, or the reflection of light photons at different angles from an uneven or granular surface. Used for dull, non-reflecting materials or mesh emitters. Depth - The maximum number of times a ray can bounce, reflect, or refract off of a diffuse or very rough surface. Higher values mean higher render times, but more realistic results. For outdoor renders, a good setting is around 4. For lighting interiors with natural light like the sun and the sky, you need higher values such as 8 or more. In the real world, the maximum diffuse bounces would not exceed 16 - it is possible to use a value higher than 16, but this is not necessary.

SpecularAmount of specular reflection, or the mirror-like reflection of light photons at the same angle. Used for transparent materials such as glass and water. Depth - Controls the number of times a ray refracts before dying. Higher values mean higher render times, but more color bleeding and more details in transparent materials. Low values introduce artifacts or turn some refractions into pure black.

Scatter Depth - The maximum path depth allowed for scattering.

Ray Epsilon - The distance between the geometry and the light ray when calculating ray intersections for lighting and shadowing. Larger values push rays away from the geometry surface. Lower values are more accurate, but can cause artifacts on large or distant objects. Ray Epsilon is similar to ray tracing bias in other rendering engines. Adjust Ray Epsilon to reduce artifacts in large-scale scenes.

Filter Size - Sets the filter size in terms of pixels. This can improve aliasing artifacts in the render. However, if the filter is set too high, the image becomes blurry.

Alpha Shadows - Allows any object with transparency (Specular materials, materials with Opacity settings and Alpha Channels) to cast a shadow instead of behaving as a solid object.

Caustic Blur - Reduces noise in caustic light patterns. High values result is softness in the caustic patterns (Figure 2).

Affect Roughness - The percentage of roughness affecting the subsequent layer’s roughness.

GI Clamp - Clamps the contribution for each path to the specified value. By reducing the GI Clamp value, you reduce the amount of fireflies caused by sparse but very strong contributing paths. Reducing this value reduces noise by removing energy (Figure 3).

Irradiance Mode - This renders the first surface as a white Diffuse materialUsed for dull, non-reflecting materials or mesh emitters.. Irradiance Mode works similar to Clay Mode, but it applies to just the first bounce. It disables the Bump channel and makes samples that are blocked by backfaces transparent.

Max Subdivision Level - The maximum subdivision level that should be applied on the geometry in the scene. Setting to 0 disables subdivision.

Alpha ChannelA greyscale image used to determine which areas of a texture map are opaque and which areas are transparent. - This option removes background images or colors created by the SunSky environment node from the rendered image, while any lighting cast by the environment is unaffected. This is useful if you want to composite the render over another image without having the background present. Objects appearing in the RGB channels have a bleeding edge, which appears as noise artifacts. However, these edges are not included in the Alpha Channel itself.

Keep Environment - Used in conjunction with the Alpha Channel setting. It makes the background visible in the rendered image while keeping the Alpha Channel.

Light - Provides options to use the Light Linking And Light Exclusion capabilities of OctaneRender®, and the AI Light algorithm for light sampling in scenes with complex lighting. For more information about the AI Light algorithm and its attributes, refer to AI Light topic in this manual.

Path Termination Power - This parameter provides a system to tweak samples per second vs. convergence (how fast noise vanishes). Increasing this value causes the kernels to keep paths shorter and spend less time on dark areas, which means they stay noisy longer, but it increases the samples per second. Reducing this value causes kernels to trace longer paths on average and spend more time on dark areas. In short, high values increases the render speed, but may create more noise in dark areas.

Exploration Strength - Specifies how long the kernel investigates good paths before it tries to find a new path. Low values create a noisy image, while higher values create a splotchy image.

Direct Light Importance - Causes the kernel to prioritize ray tracing paths with indirect light. Imagine sunlight coming through a window to create a bright spot on the floor. When Direct Light Importance has a value of 1, the kernel samples this area more and reduces noise around the bright spot. If you reduce the Direct Light Importance value, the PMC kernel reduces its efforts to sample that bright area and focuses on more problematic areas that are harder to render, such as areas with more indirect lighting.

Max Rejects - Controls the render bias. Reducing this value results in more bias, but shorter render times. In rendering terminology, biased renders introduce slight blurring and other less accurate computational techniques in order to reduce render time.

Parallellism - Controls how many samples are calculated in parallel. Smaller values require less memory to store the sample's state, but increases render time. High values require more memory, but reduces render time. The change in performance depends on the scene and the GPU architecture.

Work Chunk Size - The number of work blocks (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.

Toon Shadow Ambient - This is the ambient modifier of Toon Shadowing.

Emulate Old Volume Behavior - This is for previous scenes with Volume geometry that have been set up using the former volume rendering system in earlier versions of OctaneRender®. When enabled, older scenes built with earlier versions render using the former volume rendering system. When disabled, Octanerender® will render volumes using the new volume rendering system, and any pre-existing volumes need to be set up again in order to render correctly. This is disabled by default, assuming that there are no pre-existing volumes in the scene.