YOUR ACCOUNT

The Occlusion Settings dialog allows you to fine-tune advanced parameters of Filter Forge's ambient / reflective occlusion algorithm. It is accessible via the Customize... button at the bottom of the Lighting tab in Filter Controls:

Occlusion SettingsOcclusion Settings

Quality Preset

Allows you to select an occlusion quality preset. When you select a preset, all parameters in the dialog assume values corresponding to that preset. You can examine these values or customize them. If you change any parameter when the current Quality Preset is not 'Custom', it switches to 'Custom' automatically.

Ray Directions

Specifies the number of ray directions that will be traced to calculate occlusion for each surface point. The minimum value is 4 directions (the angle between directions is 90 degrees), and the maximum is 90 directions (4 degrees between directions.)

Higher values usually produce better occlusion quality but can significantly increase the rendering time. Generally, smooth continuous low-frequency surfaces (e.g. those based on a smooth Perlin noise with low elevation) need less Ray Directions than high-frequency spiky / peaky surfaces such as a city heightmap with white spots representing skyscrapers.

Rays in Filter Forge are different from rays as used in raytracing (i.e. a single laser-like direction of hit-testing against geometry.) In Filter Forge, a ray is a search direction – the renderer examines the heightmap in that direction, starting from the point on the surface for which the occlusion is being calculated. During the search the renderer remembers the height of the highest 'peak' it encounters and uses this value to estimate occlusion percentage for that direction. Occlusion percentages are calculated for all ray directions and combined into resulting ambient and reflective occlusion values.

Trace Distance

Specifies the distance the renderer 'travels' along each Ray Direction when looking for the highest peaks. Trace Distance is measured as a percentage of the value of the global Size slider – for example, if Size is 300 pixels and Trace Distance is set to 150, the actual distance the renderer will travel along each Ray Direction will be 450 pixels. Higher Trace Distance values produce better results but increase the rendering time, due to the larger number of pixels of the heightmap cache the renderer has to examine. Heightmaps with uniform texture and peak points located close to each other generally require smaller Trace Distance values in order to produce good results, compared to heightmaps with few big peaks with large distances between them.

Ray Jittering

When this setting is turned on, the Ray Directions value is randomized, which reduces directional artifacts in occlusion maps at the cost of introducing noise. Randomization is done by rotating all ray directions by a random angle. Ray directions are rotated together, so that the angle between them remains fixed.

Ray Bounce

When this setting is turned on, the renderer saves time on rendering the heightmap areas that lie beyond the image edges by 'bouncing' rays off the image edges, which 'produces' missing areas of the heightmap by mirroring the part of the heightmap that lies within the image boundaries.

Ray bouncing leads to inaccuracies in occlusion maps, especially near the image edges. On the other hand, it can save a lot of rendering time – especially when Trace Distance is high and the heightmap is computationally intensive. It works best on uniform heightmaps with randomly-placed feature points.

Avoid Streaks

Eliminates 'white streak' artifacts in occlusion maps that occur when a junction at the adjacent corners of two diagonally-aligned high-elevation pixels of the heightmap cache happens to fall between two adjacent heightmap measurement points (the renderer travels along Ray Directions in fixed increments.)

When this setting is turned on, ray directions are reoriented in a way that minimizes their angular proximity to directions that cause the most streaks, specifically, the orthogonal directions (0, 90, 180 and 270 degrees) and the diagonal directions (45, 135, 225 and 315 degrees.) Ray directions are rotated together, so that the angle between them remains fixed. When this setting is turned off, ray directions are not rotated.

This setting has no effect when Ray Jittering is turned on.

Direct Samples

Specifies the number of direct samples taken for each Ray Direction.

Normally, Filter Forge renders the heightmap to a bitmap cache and fetches its pixels when tracing occlusion rays. However, since a bitmap is inherently less precise than the original procedurally-defined heightmap, artifacts may occur. To eliminate such artifacts, you may want to force the renderer to sample the actual heightmap instead of fetching pixels from its bitmap cache. Direct samples are taken along each ray direction near the ray origin, where their impact on the occlusion value is high.

When Direct Samples is set to 0, no direct samples are taken, only the bitmap height cache is used. Increasing Direct Samples to 1 or 2 is usually enough to eliminate heightmap precision artifacts. However, increasing Direct Samples can significantly increase the rendering time, so use it only when it is necessary. To estimate the number of direct samples, multiply the number of Ray Directions by the number of Direct Samples.

RO Quality*

Specifies the quality of reflective occlusion. Higher values produce better results but may lead to longer rendering time. This setting has higher impact on rendering time and quality when high Reflection Blur values are used (see the Result component for more information on Reflection Blur).

*This setting is not available for PBR Surface filters.