SSAO In ParaView 5.9

This summer we introduced Screen-Space Ambient Occlusion in VTK 9.0. We are happy to announce that SSAO will be available in ParaView 5.9.0 ! It can already be tested using ParaView 5.9.0-RC2.

Used in pair with the PBR shader introduced last year and the support of High Dynamic Range Image Based Lighting, this is an important step towards an improvement of the rendering in VTK and ParaView.

Ambient occlusion enhances our depth perception by computing local light occlusion caused by surrounding geometry. Regions with a high density of holes, creases and concave surfaces will darken after an ambient occlusion step, as illustrated in the image below.

The same geometry rendered in ParaView 5.9 by the PBR shader without SSAO (left) and with SSAO activated (right). The depth perception as well as the realism is improved greatly.

The exact calculations can be very expensive, so we implemented an approximated screen space version. The input of a screen space algorithm is only pixels, so only visible geometry will participate in the occlusion.


In ParaView 5.9, a new property group named “Render Passes” has been added to the Render View properties. SSAO can be activated in this property group as seen below.

SSAO can be configured by several parameters under the Edit .. Settings .. Render View panel :

By default, the value of radius and bias are automatically calculated depending on the bounding box of the geometry. Uncheck “Use Default Presets” checkbox to select manually these two parameters.

  • Radius: Only pixels at a distance inferior to radius will influence the ambient occlusion at a point. This value may be increased with the size of the scene. depending on the level of the detail.
  • Bias: The computation of screen space ambient occlusion relies on comparing depth of surrounding pixels. The bias controls how strong a high depth difference will impact the result.
  • KernelSize: The kernel size is the number of samples for each pixel of the image. A high number of samples increases the realism but can have a big impact on the performance.
  • Blur: When the kernel size is low, the result of the SSAO can be pixelated. If blur is enabled, the result is blurred to limit these visible artifacts.


This work is funded by an internal innovative effort of Kitware Europe.

Questions or comments are always welcome!