Controlling shading noiseΒΆ

As a path tracing engine, Guerilla will sample illumination to shade a point. In order to produce quality images, this process requires to sample a high number of illumination directions, and a too low value will result on a noisy image.

The Render Settings > Raytracing > Samples property controls how many illumination samples are shot per pixel for direct lighting (Lights) and indirect lighting (objects around.) Increasing this value results in less noisy images, at the cost of rendering time.

Improving direct

the Direct Sampling property is a multiplier on the Samples value for direct illumination. Increase this value to improve the direct lighting quality without incuring on the indirect illumination.

Improving indirect lighting

On the other hand, the Indirect Sampling property is a multiplier for indirect illumination. Increase this value to improve the indirect lighting quality.

Limiting the raytracing depth

Max Bounces is a global clipping value for all rays. This is the limit for Diffuse, Specular and Refraction bounces.

Ray Filter

This options allows you to define which light paths are accepted by the path tracer. For instance, caustics, which are caused by light reflections on diffuse surfaces, cannot be accurately sampled. In order to explicitely remove them from rendering, set the Ray Filter to No Caustics. To allow glossy caustics (that is caustics caused by glossy surfaces), set to Glossy Caustics. All caustics forces the engine not to stop when evaluating a caustic path.

The white spots on the image above are missampled caustics. Turn the Ray Filter to No Caustics to resolve this issue.

The expression in the Ray Filter attribute is a Lua pattern that is matched to the current ray path, starting from the camera. For instance, '^[st]*g?d*$' means 'any number of pure reflections or refractiobs, followed by at most one glossy, followed by any number of diffuse'. Caustics of the form 'ds' (a specular bounce after a diffuse bounce) are not matched by '^[st]*g?d*$'.