ParaView 5.0.0 is now available for download. This marks the beginning of the ParaView 5.0 series—a long way from the first release, 0.2.0, tagged in Dec 2001! Here are some of the major highlights.
New Rendering Engine
This release introduces a brand-new rendering backend that the team has been putting together for the past several months. VTK’s rendering engine has received a major rewrite to adopt modern OpenGL APIs and design patterns. Targeted for modern GPUs, the rendering engine has almost all of the capabilities of the old engine, while showing significant performance improvements for both polygonal and volumetric rendering. For details, refer to these Source articles and blog posts [1, 2, 3, 4].
ParaView now enables using this new rendering engine. Binaries distributed on paraview.org are built with this rendering engine enabled. When building from source, simply set the VTK_RENDERING_BACKEND CMake variable to OpenGL2 to use this new rendering engine. When using this rendering engine, however, ParaView requires OpenGL 3.2 Core context. For older cards and rendering targets, the old rendering backend is still supported. Alternatively, you can choose to use one of the software rendering options that we’ll discuss next.
OpenSWR and Mesa support
Intel has been developing OpenSWR, a high-performance, highly scalable OpenGL compatible software rasterizer that allows use of unmodified visualization software. Designed for cases where the GPU hardware isn’t available or is limiting, OpenSWR runs on anything from laptops, to workstations, to compute nodes in HPC systems. Initial public release (alpha) of Intel’s Mesa + OpenSWR integration work is now available, and we have included binaries for the same in our ParaView binaries for Linux. The OpenSWR binaries packaged require AVX or AVX2 support. For older CPUs, a LLVM-pipe based Mesa binary is also included. You can use command line options for any of the executables to pick one of the three available OpenGL implementations.
To pick a Mesa implementation, you can use the following command line options:
# Pick Mesa software rendering with llvmpipe
> paraview --mesa-llvm
# Pick Mesa with OpenSWR and AVX instruction set
> paraview -mesa-swr-avx
# Pick Mesa with OpenSWR and AVX2 instruction set
> paraview -mesa-swr-avx2
To change the default OpenGL implementation for subsequent launches without providing command line arguments, you can add a file $HOME/.config/ParaView/ParaViewMesaConfig.ini with a single line as mesa-llvm, mesa-swr-avx or mesa-swr-avx2. The command line options always override the value specified in this config file. To pick the native system OpenGL drivers, you can use the –native command line argument. Note that OpenSWR+Mesa is still in alpha and is intended for testing and non-production use.
Previously, retrieving information about a data point could be quite a chore; you needed to select the point and then locate this selected point in the spreadsheet view. This release makes this a little easier. Simply click the button in the Render View tool bar and hover over your dataset to see a tooltip with information about the data at the closet point.
When a dataset from a single source is shown in multiple views, ParaView always showed the selected elements from that dataset in all views. With this release, we extend this mechanism to allow linking of selections between datasets from different sources, i.e., selecting cells from a dataset can also highlight cells from another dataset to which it is linked.
Off-screen rendering with EGL
The Native Platform Interface (EGL) provides means to render to a native windowing system, such as Android, X Windows or Microsoft Windows, or to an off-screen buffer. We enable the ParaView command line executables (e.g. pvserver, pvbatch, pvpython) to render to an EGL off-screen buffer. With this work, we allow server-side hardware-accelerated rendering without the need to install a windowing system.
Community Atmosphere Model (Cam5) Catalyst Adaptor
Catalyst is a lightweight version of the ParaView server designed to be directly embedded into parallel simulations to perform in-situ analysis at run-time. In this release of ParaView, we provide a Cam5 Catalyst Adaptor which enables in-situ analysis for the Community Atmosphere Model simulation.
Accelerated Algorithms plug-in
As a teaser to some of the new filters that will start leveraging your many core systems to their max, we have added a plug-in that exposes a few of these. This new plug-in includes algorithms designed to be highly scalable for large data by better using many core systems via Threading Building Blocks (TBB). We include Flying Edges 2D and Flying Edges 3D that generate isosurfaces from 2D and 3D data and Flying Edges Plane Cutter that cuts a volume with a single plane. For more information about the implementation of these algorithms, see the paper “Flying Edges: A High-Performance Scalable Isocontouring Algorithm” by Schroeder, Maynard, Geveci. Proc. of LDAV 2015. Chicago, IL. Future releases will make it so that such accelerated filers are automatically used by ParaView in place of standard filters, wherever possible.
Here is a list of ParaView related blog posts since the previous release:
- Introducing some new ParaView 5.0 features
- Surface Streamling in VTK/ParaView
- Kitware, NVIDIA, and ORNL Collaborate on Enabling Titan to be used as the World’s Largest Visualization Cluster
- Preview of NVIDIA IndeX for ParaView at SC15
- Defining Time-Varying Sources with ParaView’s Programmable Source
- Off-screen Rendering through the Native Platform Interface (EGL)