ParaView fast preselection

July 1, 2020
Fast preselection feature demo

Introduction

When selecting points or cells from the render view, ParaView currently executes internally an “Extract Selection” filter to display the primitive under the mouse each time the mouse moves. The overview of the internal pipeline is depicted in Figure 1. While it is generally fast enough, when dealing with huge datasets the execution of the filter slows down the user experience, making the selection feature painful to use. This short article will explain how we managed to optimize this preselection feature and how to use it.

Figure 1 – Internal preselection pipeline

Fast preselection concept

Extracting preselection primitives is not conceptually required since these primitives are already displayed in the render view. In fact, all the point coordinates and cells topology that can be selected are already uploaded on the GPU in OpenGL buffers (vertex buffer object and index buffer object respectively). The main idea is to re-use the existing point coordinates and build a new small index buffer object corresponding to the preselected primitives directly from the VTK mapper. The new concept is illustrated by Figure 2.

Figure 2 – New preselection feature. The mapper takes care of preselection display.

Activate fast preselection

The fast preselection feature is already available in ParaView master and will be available in ParaView 5.9. It is currently disabled by default but can be enabled very easily in the render view tab advanced settings (see Figure 3).

Figure 3 – Fast preselection setting

Limitations

  • The feature works only for the interactive point and cell selection and the recently introduced point and cell value selection
  • High order cells are not displayed properly (internal edges are visible)
  • Only visible surface of 3D cells are displayed even if the surface is translucent

Acknowledgements

This work was supported by Electricité de France (EDF)

Developments were done by Kitware SAS, France

Leave a Reply